文档中心 > 商户代扣集成

商户APP场景唤起签约并支付(或签约)页面说明

TIPS:商户app跳转代扣签约页面请参考该环节 。

    1、通过app唤起钱包的支付并签约页面(或签约页面),目前有两种方法。

方法1>.先判断客户端是否安装有钱包,有则打开钱包的签约页面。

a>.判断有无钱包方法,

                    iOS 平台:判断scheme: alipays://是否存在 。

                    android平台 判断package name是否存在: com.eg.android.AlipayGphone。

                    判断方法请自行百度“安卓(ios)如何判断app是否安装”。

                b>.生成的签约接口(alipay.dut.customer.agreement.page.sign)url整体做一次url encode。

                c>.上面的内容拼到链接:”alipays://platformapi/startapp?appId=20000067&url=”之后

                d>.app打开上面的链接。

方法2>.(APP不要使用,仅供了解)通过浏览器协议唤起。该方法会打开浏览器,判断本机是否安装支付宝钱包,无则打开钱包下载页面,有则打开钱包。因为有打开浏览器跳转过程,流程较长。调用方法:

                a>.生成的签约接口(alipay.dut.customer.agreement.page.sign)url整体做一次url encode。

                b>.上面的内容拼到链接:”alipays://platformapi/startapp?appId=20000067&url=”之后,

                      然后整体再做一次url encode。

                c>.上面的内容拼到链接:” https://render.alipay.com/p/s/i/?scheme=”之后。

                d>.浏览器唤起上面的链接。

方法1示例,唤起钱包统一下单并支付页面接口-alipay.acquire.page.createandpay页面:

            a>.生成统一下单并支付页面接口(alipay.acquire.page.createandpay) 的url(特殊字符做url encode):

https://mapi.alipay.com/gateway.do?_input_charset=utf-8&agreement_sign_parameters=%7B%22productCode%22%3A%22GENERAL_WITHHOLDING_P%22%2C%22scene%22%3A%22INDUSTRY%7CGAME_CHARGE%22%2C%22externalAgreementNo%22%3A%22201601010001%22%2C%22notifyUrl%22%3A%22http%3A%2F%2Ftest.xxx.com%2Fresult%2Fresult.ashx%22%7D&integration_type=ALIAPP&notify_url=http%3A%2F%2Ftest.xxx.com%2Fresult.aspx&out_trade_no=201601010001x&partner=2088101568351631&product_code=GENERAL_WITHHOLDING&request_from_url=myapp%3A%2F%2Fresult&return_url=myapp%3A%2F%2Fresult&seller_id=2088101568351631&service=alipay.acquire.page.createandpay&subject=test&total_fee=0.01&sign=53d0e696c8e755199ffa188e3f52b353&sign_type=MD5

            b>.上面的链接整体做urlencode。

https%3A%2F%2Fmapi.alipay.com%2Fgateway.do%3F_input_charset%3Dutf-8%26agreement_sign_parameters%3D%257B%2522productCode%2522%253A%2522GENERAL_WITHHOLDING_P%2522%252C%2522scene%2522%253A%2522INDUSTRY%257CGAME_CHARGE%2522%252C%2522externalAgreementNo%2522%253A%2522201601010001%2522%252C%2522notifyUrl%2522%253A%2522http%253A%252F%252Ftest.xxx.com%252Fresult%252Fresult.ashx%2522%257D%26integration_type%3DALIAPP%26notify_url%3Dhttp%253A%252F%252Ftest.xxx.com%252Fresult.aspx%26out_trade_no%3D201601010001x%26partner%3D2088101568351631%26product_code%3DGENERAL_WITHHOLDING%26request_from_url%3Dmyapp%253A%252F%252Fresult%26return_url%3Dmyapp%253A%252F%252Fresult%26seller_id%3D2088101568351631%26service%3Dalipay.acquire.page.createandpay%26subject%3Dtest%26total_fee%3D0.01%26sign%3D53d0e696c8e755199ffa188e3f52b353%26sign_type%3DMD5

            c>.如上是就是最终链接,通过scheme唤起。

         ios唤起示例:

                        NSString *urlString=[NSString stringWithFormat:@"alipays://platformapi/startapp?appId=20000067&url=%@",url];

                        [application openURL:urlString];

         安卓唤起示例:

                        Uri uri=Uri.parse("alipays://platformapi/startapp?appId=20000067&url="+url);

                        Intent intent=new Intent(Intent.ACTION_VIEW,uri);
                        startActivity(intent);

    2、通过方法2浏览器唤起的,部分第三方浏览器会对url做处理,导致无法唤起外部app(系统自带和谷歌浏览器一般没问题)。

    3、签约页面没有钱包版本限制。

    4、签约并支付调用(或签约)成功后,如何唤起商户app并传入结果。

    由于安全原因,在回跳return_url时,支付宝不支持“支付/签约结果页面->商户H5页面->商户APP”

    推荐两种模式:

        a>.代扣结果页面->302跳转到商户H5页面

        b>.代扣结果页面->scheme方式回跳到商户APP

    如何scheme方式唤起商户APP并获取参数,请自行百度。

    如:http://blog.csdn.net/csy172775922/article/details/6821651

    大致原理,自定义scheme(如android:scheme="myapp"),然后在接口请求参数return_url里定义传输地址(如 myapp://test/xxx)。 

PC/电视场景扫码唤起签约并支付(或签约)页面说明

TIPS: pc/电视扫码场景唤起代扣支付并签约页面请参考该环节。

         目前需由BD单独签约短链接接口(alipay.mobile.short.link.apply),后续会打包在代扣销售方案中。

    生成签约并支付页面二维码流程:

    1、生成统一下单并支付页面接口(alipay.acquire.page.createandpay) 的url(需要对特殊参数进行urlEncode编码):

https://mapi.alipay.com/gateway.do?_input_charset=utf-8&agreement_sign_parameters=%7B%22productCode%22%3A%22GENERAL_WITHHOLDING_P%22%2C%22scene%22%3A%22INDUSTRY%7CGAME_CHARGE%22%2C%22externalAgreementNo%22%3A%22201601010001%22%2C%22notifyUrl%22%3A%22http%3A%2F%2Ftest.xxx.com%2Fresult%2Fresult.ashx%22%7D&integration_type=ALIAPP&notify_url=http%3A%2F%2Ftest.xxx.com%2Fresult.aspx&out_trade_no=201601010001x&partner=2088101568351631&product_code=GENERAL_WITHHOLDING&request_from_url=myapp%3A%2F%2Fresult&return_url=myapp%3A%2F%2Fresult&seller_id=2088101568351631&service=alipay.acquire.page.createandpay&subject=test&total_fee=0.01&sign=53d0e696c8e755199ffa188e3f52b353&sign_type=MD5

    2、alipay.mobile.short.link.apply接口中open_way参数需设置为WEB。

    3、通过短链接接口(alipay.mobile.short.link.apply) 将第1步的url转换为短链接。请求语句如下:(需要对real_url参数做整体urlEncode编码)

https://mapi.alipay.com/gateway.do?service=alipay.mobile.short.link.apply&partner=2088101568351631&_input_charset=utf-8&timestamp=2014-08-12 14:33:33&open_way=WEB&real_url=https%3A%2F%2Fmapi.alipay.com%2Fgateway.do%3F_input_charset%3Dutf-8%26agreement_sign_parameters%3D%257B%2522productCode%2522%253A%2522GENERAL_WITHHOLDING_P%2522%252C%2522scene%2522%253A%2522INDUSTRY%257CGAME_CHARGE%2522%252C%2522externalAgreementNo%2522%253A%2522201601010001%2522%252C%2522notifyUrl%2522%253A%2522http%253A%252F%252Ftest.xxx.com%252Fresult%252Fresult.ashx%2522%257D%26integration_type%3DALIAPP%26notify_url%3Dhttp%253A%252F%252Ftest.xxx.com%252Fresult.aspx%26out_trade_no%3D201601010001x%26partner%3D2088101568351631%26product_code%3DGENERAL_WITHHOLDING%26request_from_url%3Dmyapp%253A%252F%252Fresult%26return_url%3Dmyapp%253A%252F%252Fresult%26seller_id%3D2088101568351631%26service%3Dalipay.acquire.page.createandpay%26subject%3Dtest%26total_fee%3D0.01%26sign%3D53d0e696c8e755199ffa188e3f52b353%26sign_type%3DMD5

    4、上述请求,会得到一个短链接url。通过生成二维码的工具包如(BarCode4j、zxing等)将该短链接转换为二维码。

    5、用支付宝钱包APP扫该二维码后唤起签约并支付页面。

FAQ

关于此文档暂时还没有FAQ
返回
顶部