APP支付JS调用说明
一、功能说明
溪谷H5游戏微端打包支持JS-SDK调用App支付功能
此功能需要调用JS-SDK,见下方。
二、调用方法
APP配置选择了微信登录,打包成功即可调用微信登录。
三、JS调用代码
try{window.webkit.messageHandlers.h5shellapplepay.postMessage('参数')}catch(err){
h5shell.payType(data,paytype,callbackmethod);//安卓 }
参数
1.data是支付所用到的串。
(1)微信
data:'{
"appid":"wxb4ba3c02aa476ea1", //微信开放平台appid
"partnerid":"1305176001", //微信开放平台的partnerid
"package":"Sign=WXPay", //固定值
"noncestr":"4d18***72", //
"timestamp":1468313807, //时间戳
"prepayid":"wx201***323458", //
"sign":"F4B38***4B896E1" //根据制定规则生成的签名
}'
注:微信data的数据格式必须为'{"param1":"val1","param2":"val2"}',最外面为单引号,
中间为双引号。格式不对是无法支付。
(2)支付宝支持支付宝内移动支付和蚂蚁开放平台App支付。建议用蚂蚁开放平台App支付。
支付宝(蚂蚁开放平台参数)
data"
alipay_sdk=alipay-sdk-php-20161101
&app_id=2002030550
&biz_content=%7B%22subje*****%7D
&charset=UTF-8
&format=json
&method=alipay.trade.app.pay
¬ify_url=https%3A%2F%2Fwww.appbsl.com%2F
&sign_type=RSA
×tamp=2017-02-16+18%3A10%3A44
&version=1.0
&sign=S4DuhMfIx3*****s%3D"
注:支付宝data具体生成方式请参考相关平台的技术文档,不需要base64编码。蚂蚁开放平台帮助:https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.xLJxch&treeId=204&articleId=105465&docType=1
支付宝(移动支付参数)
data:'
partner="*****" //
&seller_id="***@***.com"& //
out_trade_no="14****1583" //
&subject="测试" //
&body="测试" //
&total_fee="1.00" //
¬ify_url="YourUrl" //
&service="mobile.securitypay.pay" //
&payment_type="1" //
&_input_charset="utf-8" //
&it_b_pay="30m" //
&key="" //
&sign="sE*****3D" //
&sign_type="RSA" //
'
支付宝帮助:https://doc.open.alipay.com/doc2/detail?treeId=59&articleId=103663&docType=1
e="font-size:12px;font-family:;">数据实例(敏感信息部分已处理,不可直接用于测试)
2.paytype:支付方式支持两种:
WEIXIN (微信支付)
ALIPAY(支付宝支付)
3.callbackMethod:
支付完成以后的回调方法(用户自己定义),如果方法内有弹出提示(alert),需要延迟1秒才能正常显示;
返回数据:通过调用回调函数(callbackMethod),返回支付结果。
注意事项:
回调方法是用户通过 callbackMethod = “回调方法”指定的。支付结果会回调这个方法,如果用户没有编写这个方法,将不能接收到支付结果。
支付结果说明:
微信0:成功-1:普通错误类型-2:用户点击取消并返回-3:发送失败-4:授权失败-5:微信不支持
支付宝9000:订单支付成功8000:正在处理中,支付结果未知(可能已成功),请查询商户订单列表中的支付状态4000:订单支付失败5000:重复请求6001:用户中途取消6002:网络连接出错6004:支付结果未知(可能已成功),请查询商户订单列表中的支付状态其他:其他支付错误返回APP内,需要延迟1秒才能正常显示。