一 支付
客户端选择:
IOS:
https://github.com/PingPlusPlus/pingpp-ios
Android:
https://github.com/PingPlusPlus/pingpp-android/tree/master
HTML5:https://github.com/PingPlusPlus/pingpp-js
获得支付charge
在驱动中获取:
_webTools.createCharge(String pingppKey,int amount, String subject, String body,
String orderNo, String channel, String clientIp, Map extra,String callBack);
pingppKey:Ping++注册的应用key,如sk_test_i1Gq1OSyLCqLjbXPKGS0O4mL
amount:订单总金额(必须大于 0),单位为对应币种的最小货币单位,人民币为分。如订单总金额为 1 元, amount 为 100
subject:商品标题,该参数最长为 32 个 Unicode 字符。
body: 商品描述信息,该参数最长为 128 个 Unicode 字符。
orderNo: 商户订单号,适配每个渠道对此参数的要求,必须在商户系统内唯一, 一天内不能重复,订单日期+订单号唯一定位一笔订单,示例: 20170808test01)。注:推荐使用 8-20 位,要求数字或字母,不允许特殊字符。
channel: 支付使用的第三方支付渠道
alipay 支付宝 APP 支付
alipay_wap 支付宝手机网页支付
alipay_qr 支付宝当面付,即支付宝扫码支付
alipay_scan 支付宝条码支付
alipay_pc_direct 支付宝电脑网站支付
bfb 百度钱包移动快捷支付,即百度钱包 APP 支付
bfb_wap 百度钱包手机网页支付
cp_b2b 银联企业网银支付,即 B2B 银联 PC 网页支付
upacp 银联支付,即银联 APP 支付(2015 年 1 月 1 日后的银联新商户使用。若有疑问,请与 Ping++ 或者相关的收单行联系)
upacp_wap 银联手机网页支付(2015 年 1 月 1 日后的银联新商户使用。若有疑问,请与 Ping++ 或者相关的收单行联系)
upacp_pc 银联网关支付,即银联 PC 网页支付
wx 微信 APP 支付
wx_pub 微信公众号支付
wx_wap 微信 H5 支付
wx_lite 微信小程序支付
wx_pub_qr 微信公众号扫码支付
wx_pub_scan 微信公众号刷卡支付
yeepay_wap 易宝手机网页支付
jdpay_wap 京东手机网页支付
fqlpay_wap 分期乐支付
qgbc_wap 量化派支付
cmb_wallet 招行一网通
applepay_upacp Apple Pay
mmdpay_wap 么么贷
qpay QQ 钱包支付
balance 余额
clientIp: 发起支付请求客户端的 IPv4 地址,如: 127.0.0.1。
extra: 特定渠道发起交易时需要的额外参数,以及部分渠道支付成功返回的额外参数.驱动中通过 var extra = _collectionTools.getMap();获取,参考https://www.pingxx.com/api#支付渠道-extra-参数说明
callBack:支付最终结果异步回调。驱动中通过var postString = _webParams.getPostString();获得支付结果。postString格式:
{
"id":"evt_ugB6x3K43D16wXCcqbplWAJo",
"created":1440407501,
"livemode":true,
"type":"charge.succeeded",
"data":{
"object":{
"id":"ch_Xsr7u35O3m1Gw4ed2ODmi4Lw",
"object":"charge",
"created":1440407501,
"livemode":true,
"reversed":false,
"paid":true,
"refunded":false,
"app":"app_urj1WLzvzfTK0OuL",
"channel":"upacp",
"order_no":"123456789",
"client_ip":"127.0.0.1",
"amount":100,
"amount_settle":0,
"currency":"cny",
"subject":"Your Subject",
"body":"Your Body",
"extra":{
},
"time_paid":1440407501,
"time_expire":1440407501,
"time_settle":null,
"transaction_no":"1224524301201505066067849274",
"refunds":{
"object":"list",
"url":"/v1/charges/ch_Xsr7u35O3m1Gw4ed2ODmi4Lw/refunds",
"has_more":false,
"data":[
]
},
"amount_refunded":0,
"failure_code":null,
"failure_msg":null,
"metadata":{
},
"credential":{
},
"description":null
}
},
"object":"event",
"request":"iar_qH4y1KbTy5eLGm1uHSTS00s",
"pending_webhooks":0
}
二 退款
获得退款charge
在驱动中获取:
_webTools. retrieveRefund(String pingppKey,String callBack, String amount,String chargeId)
pingppKey:Ping++注册的应用key,如sk_test_i1Gq1OSyLCqLjbXPKGS0O4mL
callBack:退款结果异步回调地址
amount:退款金额(必须大于 0),单位为对应币种的最小货币单位,人民币为分。如订单总金额为 1 元, amount 为 100
chargeId:支付时获取的chargeId
三 交易结果查询
在驱动中获取:
_webTools. queryCharge(String pingppKey,String chargeId)
pingppKey:Ping++注册的应用key,如sk_test_i1Gq1OSyLCqLjbXPKGS0O4mL
chargeId:支付获得的chargeid