AllPay 为基于移动端 APP 支付的客户提供接入插件(下文简称“SDK”),以帮助客户实现快速、安全、集中式的接入支付渠道。
商户网关将订单信息发送给 AllPay 网关,由 AllPay 网关进行处理后将交易流水号,即 tn,返回给商户网关,tn 作为调起手机 app 支付控件的参数。具体请参考AllPay网关对接文档
启动支付控件的接口,接口定义如下:
public static void pay(Activity activity,String tn,boolean mode)
::: tip 参数说明 activity —— 用于启动支付控件的活动对象
tn —— 交易流水号,作为调起 sdk 支付的参数,商户从 AllPay 后台获取
mode —— AllPay 后台环境标识,true表示从AllPay的正式环境发起交易,false表示从AllPay的测试环境发起交易 :::
1.把allpaysdk.arr 拷贝到项目的libs下面
2.在Application Module的build.gradle文件的dependencies下添加compile(name: 'allpaysdk', ext: 'aar')
3.在Application Module的build.gradle文件中添加
repositories {
flatDir {
dirs 'libs'
}
}
接着可以通过以下方式调用支付控件:
/**
* tn——交易流水号,作为调起 sdk 支付的参数,商户从 AllPay 后台获取
* false代表测试环境,true代表生产环境
*/
AllPayEngine.Pay(ShopCartActivity.this, tn, false);
支付完成后,获取支付控件支付结果,并添加相应处理逻辑,只需实现调用 Activity 中的 onActivityResult()方法即可,实例代码如下:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (data == null) {
return;
}
if (requestCode == AllPayConst.VTPAY_PAY_REQUESR_CODE&& resultCode == AllPayConst.VTPAY_PAY_RESULT_CODE) {
String result = data.getExtras().getString("pay_result");
}
}
pay_result,为 json 字符串,格式如下:
{
"state": "cancel",
"paymentSchema": "UP",
"orderNum": "604337497032",
"errorDetail": "user cancel operation "
}
报文说明:
在Application Module的build.gradle文件的dependencies下添加
compile 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
如果您在调试时遇到问题,请与我们联系:support@allpayx.com