iOS接入Paytm踩过的坑(跨境电商:印度)

2018-06-19  本文已影响0人  gersces

一、Paytm移动支付

在此之前我接入过PayUmoney,感觉Paytm与PayUmoney还是差不多的。

Paytm的接入指引(iOS端)不得不得让我吐槽一下,就一个git的demo,别的什么都没。关键是这个demo还不能直接测试支付!!!

PayUmoney的接入指引(iOS端)还算可以,但是SDK里面的注释,少得可怜啊!!!

二、移动端(iOS端)接入Paytm

下载demo,将SDK拖入工程就可以了。

静态库+五个.h文件

注意:拖入之后,后续可能会有link的一些报错,请自行百度。

三、代码实现

请先认真仔细阅读官方demo里面的代码。

请先认真仔细阅读官方demo里面的代码。

请先认真仔细阅读官方demo里面的代码。

PGMerchantConfiguration,设置商家信息

PGOrder,设置订单

PGTransactionViewController,拉起支付页面的VC

PGServerEnvironment,检查支付环境和状态

注意:

1、官方demo里面设置商家支付证书相关的可忽略。

demo设置证书相关代码

我感觉这是Paytm自己在“假装自己很专业”,最初我也被这个坑到了。但是最后接好之后,发现并没有用到。

2、设置order的时候,WEBSITE 的值不要用demo里面的,用官方文档里面的值(APPSTAGING)

四、错误信息

1、delegate走error方法,输出error,错误信息:MissingKeys。

检查order的parmas,应该少了键值对,我接入的时候是少了CALLBACK_URL。

2、You are lost in space。

请跟后端一起查看,他生成 CHECKSUMHASH 时传的值是否跟你在设置order时传的值一样,dictionary里面的键值对不要多也不要少,保证一致。

3、支付完成,但是订单状态未改变。

在接入的时候,我们的service端并未接到Paytm的回调。再次查看文档之后,发现他们的接入流程是需要移动端(iOS端)告诉自己的service端。。。

我们可以用PGServerEnvironment里面的API + (void)statusForOrderID:(NSString*)orderID responseHandler:(void(^)(NSDictionary*response,NSError*error))handler;检查订单的支付状态,如果支付成功就告诉service端。

上一篇 下一篇

猜你喜欢

热点阅读