跳到主要内容

APP支付

适用于商户在移动端APP中集成第三方移动支付钱包(例如微信、支付宝、云闪付等)的支付功能。

集成说明

商户APP调用第三方移动支付钱包提供的SDK调用其支付模块,商户APP会跳转到第三方移动支付钱包APP中完成支付,支付完后跳回到商户APP内,最后展示支付结果。

目前支持的手机系统有:IOS(苹果)和 Android(安卓)。

PayCloud目前支持集成微信支付和Alipay+(不只是中国大陆支付宝,还有AlipayHK、Gcash、KakaoPay、TNG等等)的APP支付功能。

用户完成支付后,商家可以收到PayCloud的支付通知,商家也可以主动调用查询订单接口获取支付结果。在获得付款结果后,PayCloud会同步并更新订单信息给商户,以完成剩余的商品和服务。

注意事项

请确保调用此接口时已经开通线上支付权限。

交互细节

步骤1:用户进入商户APP,选择商品下单、确认购买,进入支付环节。商户服务后台请求我们的APP支付接口生成支付订单,将数据传输到APP端。

步骤2:用户点击后发起支付操作,进入到第三方移动支付钱包APP界面,调起支付,出现确认支付界面。

步骤3:用户确认收款方和金额,点击立即支付后出现输入密码界面,可选择零钱或银行卡支付。

步骤4:输入正确密码后,支付完成,用户端APP出现支付详情页面。

步骤5:回跳到商户APP中,商户APP根据支付结果个性化展示订单处理结果。

App支付使用案例示意图

开发指引

API列表

我们提供了一组REST API,请参阅下表,这些API提供了几种语言的SDK,请访问SDK章节

API名称 说明
APP支付下单通过此api提交付款订单
取消订单通过此api关闭未付款订单,如果已经付款,则向用户退款
提交退款申请如果您通过此API提交退款请求,但退款没有立即到达,您可以调用退款查询API来获取退款的进度。
查询支付订单通过该API查询正向交易订单的交易结果(消费/预授权/预授权完成)
查询退款订单通过此API查询退款交易订单(消费取消/预授权取消/消费退款/预授权完成退款)的交易结果
交易结果通知交易完成后,通知商家,告知商家交易结果

微信SDK使用说明

微信支付官方提供了如何通过安卓和IOS客户端SDK调起支付控件的过程和示例代码,具体请参考 开发指引APP调起支付

微信文档中提及的 【统一下单】 API,请使用 PayCloud 提供的【APP支付下单】API。作为微信支付在日本地区的官方服务商,我们已经集成了微信支付的功能,屏蔽了接入微信支付的复杂过程,你只需要通过我们的API获取下单参数,然后调起微信支付即可。

PayCloud APP支付接口返回参数 pay_params是一个JSON对象,示例结构如下:

{
"appid":"wx8888888888888888",
"partnerid":"1900000109",
"prepayid":"WX1217752501201407033233368018",
"package":"Sign=WXPay",`
"noncestr":"5K8264ILTKCH16CQ2502SI8ZNMTM67VS",
"timestamp":"5K8264ILTKCH16CQ2502SI8ZNMTM67VS",
"sign":"5K8264ILTKCH16CQ2502SI8ZNMTM67VS"
}

Alipay+客户端调起支付

Alipay+ 是一个集合了数十个移动支付钱包支付功能的网关产品,使商户可以一次开发集成多个钱包的功能,并且这些钱包服务还在不断扩展中,使日本商家可以接受世界各地的付款,用户使用他们习惯的付款方式。

为了让商户的开发者更加便利,Alipay+提供了一个中间H5网页,该页面可以自动检测用户手机上安装的APP,然后选择一个支持的APP,并自动跳转支付请求到该APP,省去了商户开发者需要按多种方式去集成钱包SDK的麻烦。

PayCloud APP支付接口返回参数 pay_params是一个JSON对象,示例结构如下:

{
"paymentUrl":"https://open-sea.alipayplus.com/api/open/v1/ac/cashier/self/codevalue/checkout.htm?codeValue=281666040098XYLX6JEL8817jb48uYF304Ww"
}

paymentUrl是Alipay+的收银台地址,你只需要在自己的APP中显示该网页即可。以下示例演示了如何使用安卓和IOS在APP中显示一个网页。

// WebView 是 Android 提供的一个组件,它允许你在应用程序内部加载和显示网页内容。你可以通过以下步骤在你的应用中嵌入一个 WebView。
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />

// 在 Activity 或 Fragment 中加载 URL
WebView webView = findViewById(R.id.webview);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true); // 如果网页需要启用 JavaScript
webView.loadUrl("https://example.com");

Alipay+ APP如何跳回商户APP?

请求PayCloud下单时,你可以传递 return_url 给我们,该URL是商户APP注册的自定义的URL Scheme(如 mymerchantapp://payment/success?order_id=123456789),那么Alipay+ APP可以在支付完成后通过该Scheme启动商户APP。

Alipay线下手机网页支付实现APP支付

对于未申请线上Alipay支付服务的商户,可以先从商家的APP跳转到支付宝APP,再访问线下的手机网页支付接口,调起支付宝支付控件完成支付。

实施线下支付转线上支付的关键步骤:

  • 从商家的APP跳转到支付宝APP,在支付宝APP中打开你的网页,跳转方法请参考支付宝官方文档,手机网站支付通过alipays协议唤起支付宝APP
  • 跳转到支付宝APP后,请通过你的后端服务器访问PayCloud的线下手机网页支付接口,我们会返回你对应的支付宝收银台https网址,你只需要打开该网址即可唤起支付控件。
  • 注意一定要在支付宝APP里再调PayCloud的接口,否则会被识别为线上支付,无法拉起支付。
注意事项

虽然这种方式可以将线下业务扩展到线上场景,但也存在一定的风险。银行和收单机构可能会判定此类操作为不合规行为。请谨慎使用,以避免可能的限制或处罚。