2017-05-08 79 views
0

我使用react-native-stripe-id从反应本机应用程序连接到Stripe。我创建了一张卡片,然后是客户的令牌,然后为他们订阅:使用react-native-stripe-api取消订阅

... 
.then(card => { 
    return stripeClient.createToken(card.cardNumber, card.expiryMonth, card.expiryYear, card.cvv); 
}) 
.then(token => { 
    return stripeClient.createCustomer(token.id, user.email, user.uid, user.firstName, user.lastName); 
}) 
.then(customer => { 
    return stripeClient.createSubscription(customer.id, "MyPlan"); 
}) 
.then(subscription => { 
    ... 
}); 

这似乎很好地工作。

从这里,通过客户和订阅,我如何更改或取消订阅?

简单地创建一个新的订阅新计划订阅客户的计划和双重收费。

我可以通过retrieveSubscription找回客户的订阅,但不知道我可以用这个做什么。

回答

2

我建议不要从您的React Native应用程序调用createCustomer,createSubscription等,因为它们只能使用您的密钥进行创建。如果您将秘密密钥放入您的应用程序中,任何拥有应用程序副本的人都可以提取密钥并使用它来恶意地针对您的帐户进行API调用,例如退款,删除您的数据等。

通常的做法是创建iOS应用程序进行API调用的后端应用程序。您的后端应用程序安全地存储您的密钥并与Stripe API进行通信。除了安全性之外,另一个优势是您将获得更简单,更轻量级的前端应用程序。

假设你正在使用条纹的节点库,你想使这个电话: https://stripe.com/docs/api/node#cancel_subscription

我会检讨条纹的标准集成指南,了解如何设计你的后端应用: https://stripe.com/docs/mobile/ios/standard#prepare-your-api