stripe支付接入

bk2898 120 0
1、stripe支付接入步骤

官网:

文档:

1.官网注册账号做芦后,开发者--API密钥,可以获得两个开发密钥

可发布密钥:pk_test_XXXXXX , 客户端使用

密钥:sk_test_XXXXX , 服务器使用

2.设置支付方式:

开启Apple pay

至此网站配置简单完成,是兆竖app配置

1.引入sdk

2.注册api

3.构建快捷支付UI

4.使用

-----------------------------------------------------------------------------

1.根据用户订单,请求服务器,拿到stripe 的 clientSecret

2.构建支付对象,发起支付

3.实现卡片认证的 ***

有关认证纯猜带情况的测试卡如下

2、iOS oc版Stripe支付

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

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

有好多导入的 *** ,我是使用的cocospod导入的:pod 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"];

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

3、stripe支付为什么显示卡里余额不足呢

卡内的伍升知钱少于支付金额。

当支付的金额少笑枯于实际金额,且付款形式是使用的银行卡,就会显示卡内余额腔消不足,Stripe是一家科技公司。其软件允许个人和企业通过互联网接收付款。Stripe提供运营在线支付系统所需的技术,防欺诈和银行基础设施。

4、IOS接入Stripe支付

简单写一下,能最快的实现支付。

步骤为:加卡-选择支付方式-发起支付(或使用ApplePay)

1.加卡

加卡之前,需要有一个用户,用户可以与自己的应用内用户绑穗悔定,每个用户有自己的一串token。可以理解为加卡之后卡会存在用户名下。

正式加卡:

1.1使用Stripe自带的控制器加卡。

可以在Stripe官方找到可用于测试的卡号进行测试(例如 4242 4242 4242 4242)

Done之后,成功会调用

在这里把卡的token给服务端,与前面说的用户Token关联。(告诉后端哪个用户加了哪个卡)

1.2 自定义加卡UI

下方图片中的number,expMonth等数据写死的,大家可以改成由用户输入的数指族瞎据。

同样把卡的token给服务端,告诉后端哪个用户加了哪个卡

2.选择支付方式

Stripe支付的时候不需要指定哪张卡支付,它会从支付列表中拿到默认支付方式

所以可以理解为这个操作是设定默认支付方式。

先创建一个STPCustomerContext对象

调用    [self.paymentContext pushPaymentMethodsViewController];

之前添加的卡的信息会出现在列表中。如果有选择。会是后台更改stripe的默认支付方式,唯空再进行支付。(支付和更改默认方式都是后台操作。)

抱歉,评论功能暂时关闭!