SDK与商户的接口
客户设备能否进行ApplePay支付
- (BOOL)canMakeApplePayments;
查询客户使用的设备能否进行ApplePay的线上支付;
商户APP根据返回的布尔值决定是否展示ApplePay支付的按钮。
客户设备能否加载一闪通
- (BOOL)canAddPaymentPass;
商户APP先根据接口1判断用户设备能否进行ApplePay支付;
如果不能则使用此接口判断能否加载一闪通;如果能加载一闪通则商户APP可以使用接口3跳转手机银行APP让用户加载一闪通。
跳转招商银行App并加载一闪通
- (void)addPaymentPass;
打开手机银行APP并跳转到一闪通加载页面。
支付接口
发起支付接口:
- (void)payWithTransactionInfo:(NSString *)transactionInfo
merchantID:(NSString *) merchantID
paymentDelegate:(id<cmbpaymentdelegate>)delegate
viewController:(UIViewController *)vc
paymentUrl:(NSString *)url;
支付接口参数说明:
参数名称 | 选传/必传 | 参数说明 |
transactionInfo | 必传 | 订单信息,参数类型为NSString 具体参数参见:transactionInfo报文数据说明 注:订单信息需做URLEncode |
merchantID | 必传 | 商户的开发者账号中注册的商户ID |
delegate | 必传 | 商户APP实现delegate中定义的函数,SDK回调该函数传送支付结果 |
vc | 必传 | 商户APP用于present支付页面的ViewController |
url | 选传 | 支付网关的支付url。 url为空时使用framework中默认的支付网关url,到时可根据实际情况选传该字段。 url存在变更的可能,请勿硬编码在代码中。 |
支付结果返回接口:
-(void) CMBPaymentResult:(PaymentResult *) paymentResult;
paymentResult包括如下属性:
CMBPaymentResultStatus resultStatus;
NSString *errorDescription;
CMBPaymentResultStatus包括如下状态:
CMBPaymentResultStatusSuccess:支付成功,商户根据状态码自己定义提示话术;
CMBPaymentResultStatusFail:支付失败,此种错误商户APP可以弹出对应的errorMessage给用户查看,errorMessage中包括支付网关返回的错误码,客户端直接返回给商户;
CMBPaymentResultStatusUnKnown:需商户到商户后台查询支付结果,商户根据状态码自己定义提示话术;
CMBPaymentResultStatusOther:此种错误不需要显示给用户,主要是用户取消支付、参数错误等,商户根据状态码自己定义提示话术;
SDK的APP集成加载和配置
商户需要登录自己的开发者帐号,打开Certificates,Identifiers&Profiles,进入App IDs 找到自己的App ID,点击“编辑”,选择 Apple Pay(打勾),点击Apple Pay 后面的Edit,上传从招行商户网站获取CSR文件;
商户在工程的“Capabilities”中找到 Apple Pay并打开;
SDK是以framework文件的形式提供的,商户将framework托入到工程中,然后进入Build Phases-->Link Binary With Libraries中点击”+”--> Add Other…-->选择该framework;