iOS oc版Stripe支付

   之前有个项目是要做海外支付业务,最后大家决定用stripe支付,但是iOS Stripe支付中文的资料很少,我看到的也只有swift版本的资料,我就整理下自己做oc版Stripe时踩过的坑和一点经验吧。才疏学浅,欢迎指正。


  首先stripe支付是一种海外信用卡支付在线支付,只要你输入信用卡号和后面CVC就可以支付了,stripe也提供了很详细的文档:stripe 官方ios文档,直接看文档就可以完成stripe支付的集成,不过如果觉得自己英文不太好,可以看下我做的步骤。

1,导入SDK

有好多导入的方法,我是使用的cocospod导入的:pod Stripe

2,App delegate中集成stripe

在 AppDelegate.m 中

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {

[[STPPaymentConfigurationsharedConfiguration]setPublishableKey:kStripePublishableKey];
...

returnYES;

}

其中 kStripePublishableKey 是你在stripe上申请的公钥

stripe还支持Apple pay ,如果要加入Apple pay的话还要加上这句:

[[STPPaymentConfigurationsharedConfiguration] setAppleMerchantIdentifier:@"your apple merchant identifier"];

3,支付页面

stripe的SDK中提供了系统默认的付款页面,我们之前的项目就是采用的系统默认的付款页面。

1,STPAddCardViewController

这是一个添加信用卡的页面,弹出后会是一个添加信用卡的界面。假设页面A可以push出STPAddCardViewController,我们就将STPAddCardViewController的delegate设置为A,实现它的回调方法

//添加新的信用卡

STPAddCardViewController*addCardViewController = [[STPAddCardViewControlleralloc]init];

addCardViewController.delegate= self;

其中比较关键的代理方法有:

//    添加信用卡的取消回调

- (void)addCardViewControllerDidCancel:(STPAddCardViewController*)addCardViewController

//  添加信用卡后我们可以拿到stripe返回的一个STPToken,而这个token里面有后端需要的参数,token_id 和 created 这是后台实际支付时需要的,将他们传给后台,回调成功后就代表付款成功了

- (void)addCardViewController:(STPAddCardViewController*)addCardViewControllerdidCreateToken:(STPToken*)tokencompletion:(STPErrorBlock)completion

2,STPPaymentCardTextField

这是一个选择新卡支付的页面,选择卡后同样进行回调实现支付

// 这是他的回调方法

-(void)paymentCardTextFieldDidChange:(STPPaymentCardTextField*)textField{NSLog(@"Card number: %@ Exp Month: %@ Exp Year: %@ CVC: %@",textField.cardParams.number,@(textField.cardParams.expMonth),@(textField.cardParams.expYear),textField.cardParams.cvc);self.buyButton.enabled=textField.isValid;}


   以上就是很简单的stripe支付行为,官方也写的很详细,如果可以看的话看英文文档是最好的,官方也提供了一个demo:demo地址。结合着demo应该很快就可以实现stripe支付。

   我对stripe支付的理解是客户端这边拿到用户的token的相关信息,然后后台用这些信息去实现真正的付款行为,所以客户端这边的工作只是一个获取token和实现回调的工作,真正的支付行为是发生在后台的。

写的不对的地方欢迎大家指正,大家共同进步。


我的github:Baoy

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前文 前段时间在空暇时间写了GoogleMaps的使用指南,刚写完的一段时间,发现并没有人阅读,所以不太想写第二篇...
    ZHANGKAILUN_阅读 4,902评论 16 9
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一种新的协议。它实...
    香橙柚子阅读 24,176评论 8 184
  • 突然想到昨天回答室友问题时的神回答。 一室友苦闷的问道:你们平时是怎么泄愤的? 我回答:拉屎啊!
    李璐妞妞妞阅读 179评论 0 2
  • 1 娃催促带着她的狗狗去打针洗澡,在宠物医院,人家天使阿姨批评了她——看得出来,不肯好好洗澡梳毛,是因为太宠着这个...
    木徒阅读 494评论 0 1
  • 我要一步一步往上爬等待阳光静静看着它的脸小小的天有大大的梦想重重的壳裹着轻轻地仰望我要一步一步往上爬在最高点乘着叶...
    流浪的流浪的面包树阅读 750评论 17 14