初步了解 Stripe 支付平台

在最近的工作中,我接触到了多种国外支付平台,尤其是 Stripe。本文将分享我对 Stripe 平台的初步认识,主要基于其文档内容,后续会在实际使用中不断完善。

基本介绍与其他支付平台的对比

什么是 Stripe

Stripe 是一个基于 API 的便捷支付渠道,提供多种支付功能和产品。

使用范围

截至 2019 年 4 月 7 日,Stripe 已支持 32 个国家的使用。虽然有资料提到支持 25 个国家,但实际上支持的国家列表更为广泛。需要注意的是,中国大陆尚未被支持,因此中国企业若想使用 Stripe,需要在支持国家中开设银行账户。可以通过 Stripe Atlas 创建美国银行账户,更多信息可参考其主页。

与其他平台的简单对比

在与朋友的交流中,了解到 PayPal 和 Square 的使用体验。PayPal 的开发难度较大,隐藏费用高,实际费用可能超过 5%。而 Square 的开发相对简单,但其 SDK 仅支持较低版本的安卓系统,因此在某些情况下可能不适用。

总体来看,Stripe 的开发简单,支持多种支付方式(如支付宝和微信支付),适合创业团队使用;而 Square 更适合线下支付需求,PayPal 则更适合大型企业。

支付流程

整个支付流程相对简单,主要包括以下步骤:

  1. 客户端将用户输入的信用卡信息发送到 Stripe 服务器。
  2. Stripe 服务器对信息进行校验,返回一个 token。
  3. 客户端将 token 和订单信息发送到服务器。
  4. 服务器计算订单金额并请求 Stripe 扣费。
  5. Stripe 返回交易结果给服务器。
  6. 服务器将交易结果返回给客户端。

测试账号

Stripe 提供了足够的测试账号,方便我们进行各种测试。

一步支付

在收款时,设置 capturetrue,Stripe 将直接进行收账。

java
// Set your secret key: remember to change this to your live secret key in production
Stripe.apiKey = “sk_test_yoursecretkey”;

// Token is created using Checkout or Elements! Get the payment token ID submitted by the form:
String token = request.getParameter(“stripeToken”);

Map params = new HashMap<>();
params.put(“amount”, 999);
params.put(“currency”, “usd”);
params.put(“description”, “Example charge”);
params.put(“source”, token);
Charge charge = Charge.create(params);

每个 token 只能使用一次,且会很快失效。

两步支付

Stripe 支持分步骤支付,可以先授权支付,稍后再进行结算。授权有效期为七天,未及时收费将被取消。

支付的附加信息

发送支付邮件

Stripe 可以设置每笔账单的邮件接收,确保用户及时收到账单信息。

java
params.put(“receipt_email”, “[email protected]”);

设置附加信息

Stripe 支持将 Metadata 添加到支付请求中,便于管理每笔支付信息。

支付失败

支付过程中可能会出现失败情况,建议对每种失败类型进行处理。失败原因可能包括:

  1. 支付被发卡单位拒绝(如信息错误、信用卡过期等)。
  2. Stripe 安全屏蔽。
  3. 无效的 API 调用。

如果 Stripe 屏蔽了合法支付,可以在 Dashboard 中标记该卡为安全。

编程中对支付失败的处理

可以通过处理 API 错误和使用 webhooks 监听事件来自动处理支付结果。

纠纷与防欺诈

在交易过程中,需注意如何处理交易纠纷和防范欺诈。处理纠纷时,需提供有效证据,具体时间和资料要求可在 Stripe Dashboard 中查看。

防范纠纷和欺诈

  1. 收集尽可能多的支付信息,如客户名称、邮箱、CVC、账单地址等。
  2. 使用校验检查,确保信息的准确性。

退款

可以使用 charge.refund.updated 监控退款事件,确保用户在退款时及时收到通知。

小小的注意事项

支付精度

在实现支付时,需关注 Stripe 平台的精度,确保支付单位和金额的正确性。

防止 Stripe IP 无法访问

确保系统能够访问 Stripe 服务器,以便顺利进行支付和接收回调。

其他

使用 webhooks

通过 webhooks 监控支付的触发事件,确保及时处理支付状态。

更多支付方式

Stripe 支持多种支付方式,包括支付宝、微信支付及比特币支付。

善用 Card 和 Customer

利用 Card 和 Customer 功能,方便管理支付和提升用户体验。

账单与发票

Stripe 提供账单功能,支持周期性收费,适合实现会员自动续费。

不要随便保存用户的信用卡信息

除非获得 PCI 认证,否则请勿在数据库中保存用户的信用卡信息。

iOS 应用程序中优先考虑 Stripe

根据苹果公司的规定,出售数字内容需使用应用内购买,而实物商品则可使用 Stripe 等其他支付方案。

👉 野卡 | 一分钟注册,轻松订阅海外线上服务

(0)
上一篇 2025年7月9日
下一篇 2025年7月9日

相关推荐