顺晟科技
2021-06-16 10:30:17
300
之前发过一点关于种类的东西,连续有好几个朋友问到指挥官版的代码实现。下面就贴上我认为有点用的吧。
1、测试正式的键(和后台的相对应)
nsString const strippepublishablekey=@ " PK _ test _ m8ahnfxlvawq 0 qhe 4 QBMicvz ";//@ " PK _ test _ 8 * * * * * * * * ";
nsString const StripeliveKey=@ " PK _ live _ * * * * * * * ";
//TODO:用自己的值替换零
//要设置这个,请查看https://github.com/stripe/example-ios-backend
//这应该是https://my-shiny-backend.herokuapp.com的格式
//TODO:用自己的值替换零
nsString * const backendchargerString=@ " ";
//要了解如何获得苹果商户编号,请前往https://stripe.com/docs/mobile/apple-pay
NSString * const apple complementid=nil;//TODO:用自己的值替换零
2、卡片的维护(CVC和有效期等)
3、创建令牌,并通过该代币创建费用提交后台用以支付
//验证
if(![Stripe DefaultPublishableKey]){
n错误*错误=[n错误带域的错误:三域
代码代码code:STPInvalidRequestError
userInfo:@{
"请在常量中指定一个条带可发布密钥。"
}];
//直接回调到支付失败
【自我。delegate payment viewcontroler : self未完成:错误。本地化描述];
返回;
}
//根据添加的卡片创建代币
[自显示:@下订单.]];
strpcardparams * card par=[[strpcardparams alloc]init];//省略的是拿到用户当前用于支付的卡片对象。
//构建strpcardparams对象
卡型号*卡型号=[卡型号initwithdictionary :所选卡];
纸牌游戏。number=卡片型号。卡号;
纸牌游戏。ex pmonth=卡片型号。cardem
纸牌游戏。expyear=卡片模型。cardey
纸牌游戏。CVC=卡片式。卡CVC
_ _弱(self)ws=self的类型;
[[stpapclient shared client]createtokenwithcard : card par
completion:^(stptoken *令牌,nserror *错误){
if(错误){
[ws。delegate payment view controller : ws未完成:错误。本地化描述];
返回;
}
//根据刚得到的代币创建费用
[ws show LOD : @ Paying.]];
//调用[ws。backendcharger createbackendchargewithttoken :令牌
completion:^(stpbackendchargeresult结果,NSString *错误){
if(错误){
[ws。delegate payment viewcontroler : ws未完成:错误];
返回;
}
[ws。delegate payment viewcontroler : ws未完成: nil];
}];
}];
//根据取得的代币创建费用并请求服务端(自己的)委托自家服务端完成支付操作
-(void)createbackendchargewithttoken :(Stptoken *)令牌完成:(Stptoken submissionhandler)完成{
if(!backendchargerstring){
n错误*错误=[n错误
错误带域:三域
代码代码code:STPInvalidRequestError
userInfo:@{
"好消息!种类将您的信用卡转换为令牌:% @ \ n您可以按照"
@"自述文件中关于设置示例后端或使用该后端的说明"
@ '在dashboard.stripe.com手动创建费用令牌,
token.tokenId]
}];
完成(STPBackendChargeResultFailure,错误。本地化描述);
返回;
}
//请求自己的服务器接口进行支付,获取返回值判断支付结果
//跟进}
}else{
完成(STPBackendChargeResultFailure,result . message);
}
}];
}
08
1972-02
08
1972-02
02
2022-09
16
2021-06
16
2021-06
16
2021-06