支付时序图
开发环境
1、在xcode中打开Apple Pay
2、勾选对应的merchant_id(此id已经导入csr证书)
代码编写
- 1、导入SDK头文件和lib文件
- 2、设置SDK回调
- [LLAPPaySDK sharedSdk].sdkDelegate = self; // 设置回调
- 3、实现回调逻辑
-
(void)paymentEnd:(LLPayResult)resultCode withResultDic:(NSDictionary *)dic{ // TODO: 根据各种支付结果,实现App逻辑 switch (resultCode) { case kLLPayResultSuccess: break; case kLLPayResultFail: break; case kLLPayResultCancel: break; case kLLPayResultInitError: break; case kLLPayResultInitParamError: break; default: break; } } resultCode说明 kLLPayResultSuccess = 0, // 支付成功 kLLPayResultFail = 1, // 支付失败 kLLPayResultCancel = 2, // 支付取消,用户行为 kLLPayResultInitError = 3, // 支付初始化错误,订单信息有误,签名失败等 kLLPayResultInitParamError = 4, // 支付订单参数有误,无法进行初始化,未传必要信息等,碰到这个错误需要在开发调测阶段解决 kLLPayResultUnknow = 5, // 其他 dic说明 具体的错误,以及支付成功的凭证都是通过这个参数传递的 dic[@"ret_msg"]包含指示信息
- 传入签名后的订单,并在订单中设置merchant_id,然后调用相关支付接口
-
NSMutableDictionary* signedDic = @{@"aa":@"bb", @"sign":@"ccc"} // 加过签名的订单字典 signedDic[@"ap_merchant_id"] = @"merchant.com.llyt.test"; [[LLAPPaySDK sharedSdk] payWithTraderInfo:signedOrder inViewController:self]; // 消费接口,如果需要调用预授权,请看详细API说明
签名机制及密钥配置
- 1、MD5安全签名机制说明
- MD5安全签名机制是商户和连连支付约定一个签名key,每次在做签名时将key=value附在待签名字符串后面,然后经MD5加密运算后得到一个签名串,商户和连连支付在检验时也采用同样的方式得到签名串,经比对后确定是否一致,如果一致,则签名通过。
- 2、RSA安全签名机制说明
-
在RSA签名时,需要私钥和公钥一起参与签名。私钥与公钥皆是客户通过OPENSSL来生成得出的。客户把生成出的公钥与连连支付的 技术人员配置好的连连支付的公钥做交换。因此,在签名时,客户要用到的是客户的私钥及连连支付的公钥。
• 支付请求时签名 商户当拿到请求时的待签名字符串后,把待签名字符串与商户的私钥一同放入RSA签名函数中进行签名运算,从而得到签名结果字符串。
• 通知或返回时验证签名 商户当获得到通知或返回时的待签名字符串后,把待签名字符串、连连支付提供的公钥、连连支付通知返回参数中的参数sign的值三者一同放入RSA签名函数中进行非对称的签名运算,来判断签名是否验证通过。
- 3、需要参与签名的参数
-
直接把请求数据中的所有元素(除sign本身)按照"key值=value值"的格式拼接起来,并且把这些拼接以后的元素以"&"字符再连接起来(顺序按首字母升序排列,值为空的不参与签名),如: busi_partner=101001&dt_order=20130516131212&info_order=用户13958069593购买了3桶羽毛球&money_order=210.97&name_goods=羽毛球&no_order=20130516000000001¬ify_url=http://payhttp.xiaofubao.com/***/back.shtml&oid_partner=201304121000001004&sign_type=RSA 这段字符串即是商户支付请求时的待签名字符串。
如果为MD5加密的则如下:(参数按顺序按首字母升序排列,值为空的不参与签名,MD5的key值放在最后,其他待签名字符串同理可得) busi_partner=101001&dt_order=20130516131212&info_order=用户13958069593购买了3桶羽毛球&money_order=210.97&name_goods=羽毛球&no_order=20130516000000001¬ify_url=http://payhttp.xiaofubao.com/***/back.shtml&oid_partner=201304121000001004&sign_type=MD5&key=lianlian1234567890
- 4、签名秘钥获取及IP域名配置
-
在正式开完商户站后,需要登录正式商户站 https://b.lianlianpay.com/trader/login.htm ,在商户站安全中心-》商户秘钥维护进行配置。(请使用商户号登录进行相关秘钥配置)
API接口需要配置IP白名单,需要商户提供服务器IP。
设计指南
- 1、使用 Apple Pay 标志
-
Apple Pay 标志的最小安全距离为 .1x,其中 x = 按钮高度。
Apple Pay 标志应尽可能用于白色或浅色背景。如果营销版面使用黑色 背景,也可以将标志置于黑色背景。 - 2、Apple Pay 标志的放置
- 我们建议将 Apple Pay 标志放置在其他支付接受标志队列的首位。
Apple Pay 标志的尺寸应与其他支付接受标志保持一致。 - 3、使用银联云闪付标志
- 银联云闪付- Apple Pay in - APP品牌露出规范(非一键支付方案)
- 支付选择界面(仅使用Apple Pay文字)
- 支付选择界面(使用Apple Pay文字 + 图标)
- 支付完成界面
- 4、Apple Pay相关素材资料下载
- 标志素材包下载 Apple Pay 标识指南 Apple Pay in-APP 品牌露出规范