支付参数说明
FUPayParamModel对应的支付参数说明
字段 | 类型 | 长度 | 说明 | 是否必填 | 样例 |
---|---|---|---|---|---|
mchntCd | String | MAX(15) | 商户在富友入网时生成的商户号 | 必填 | 0001000F0040992 |
orderDate | String | MAX(8) | 订单日期 | 必填 | YYYYMMDD |
orderAmt | long | MAX(12) | 客户支付订单的金额,一笔订单一个,以分为单位(不能有小数点)。不可以为零,必需符合金额标准。 | 必填 | 100如:支付1元就传100 |
orderId | String | MAX(30) | 商户的订单号码,需要商户生成,确保唯一性 | 必填 | 16110211240374534607 |
pageNotifyUrl | String | MAX(200) | 商户页面接受支付结果的地址 | 非必填 | http://www.xxx.com/test/page.do\(如果是手机浏览器H5页面支付,当银行页面支付成功后会跳转到这个页面.如果是app支付,则这个地址没有用。\) |
backNotifyUrl | String | MAX(200) | 商户后台接受支付结果的地址 | 必填 | http://www.xxx.com/test/back.do |
goodsName | String | MAX(60) | 商品名称 | 必填 | 可以传空字符串,也可以传名称如耐克 |
goodsDetail | String | MAX(200) | 商品详情 | 必填 | |
orderTmStart | String | MAX(14) | 订单起始时间 yyyyMMddHHmmss | 必填 | 20091225091010 |
orderTmEnd | String | MAX(14) | 订单失效结束时间 yyyyMMddHHmmss(最长与起始时间间隔2小时) | 必填 | 20091225091010 |
appScheme | String | 商户appscheme | 支付类型为招行时必填,scheme格式 fuioupay://商户号/序列号/ 需要与manifests的招商银行data数据保持一致,否则无法回调 | fuioupay://0002900F0279917/01 | |
rem1 | String | MAX(60) | 备注1 | 非必填 | 默认传空字符串 |
rem2 | String | MAX(60) | 备注2 | 非必填 | 默认传空字符串 |
rem3 | String | MAX(60) | 备注3 | 非必填 | 默认传空字符串 |
发起支付请求
FUPaySDK.startPayType(final Activity context, FUPayType payType,final FUPayParamModel payModel, final FUPayCallBack pcb);
context:上下文 payType:当前支付方式 payModel:存放支付信息的类 pcb: 支付结果的回调
调起sdk支付样例
具体以demo为准
样例代码:
FUPayParamModel payModel = new FUPayParamModel();
payModel.mchntCd = mchntEt.getText().toString().trim();
payModel.orderDate = orderDateEt.getText().toString().trim();
payModel.orderAmt = Long.parseLong(TextUtils.isEmpty(amtEt.getText().toString()) ? "0" : amtEt.getText().toString());
payModel.orderId = orderIdEt.getText().toString().trim();
payModel.pageNotifyUrl = forwardUrlEt.getText().toString().trim();
payModel.backNotifyUrl = backUrlEt.getText().toString().trim();
payModel.goodsName = nameEt.getText().toString().trim();
payModel.goodsDetail = detailEt.getText().toString().trim();
payModel.orderTmStart = orderTmStartEt.getText().toString().trim();
payModel.orderTmEnd = orderTmEndEt.getText().toString().trim();
//scheme格式 fuioupay://商户号/序列号 需要与manifests的招商银行data数据保持一致,否则无法回调
payModel.appScheme="fuioupay://" + mchntEt.getText().toString().toLowerCase() + "/01";
//设置当前支付环境
FUPaySDK.setPayEnvType(curEnv);
//微信支付和微信小程序支付使用
FUPaySDK.initWXApi(wxAppIdEt.getText().toString().trim());
//配置商户密钥
FUPaySDK.initFUKeyConfig(fuKeyConfig);
//设置回调监听
FUPayCallBack payCallBack = new FUPayCallBack() {
@Override
public void payResultCallBack(boolean isSuc, String msg, String code) {
Toast.makeText(MainActivity.this, msg + "", Toast.LENGTH_LONG).show();
FyLogUtils.d("isSuc=" + isSuc + ",code=" + code + ",msg=" + msg);
}
};
//配置支付结果界面展示
FUPaySDK.setShowFUResultView(isShowResultRb.isChecked());
//根据选择的支付类型进行处理
FUPaySDK.startPayType(this, curFuPayType, payModel, payCallBack);
回调代理返回
public interface FUPayCallBack {
void payResultCallBack(boolean isSuc,String msg,String code);
}
isSuc:是否支付成功 msg:支付的中文描述 Code: 支付的响应码,详情见回调应答说明表。