Apple Pay支付

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;