Paypal 实现自动订阅详细教程

随着在线支付和订阅服务的普及,Paypal 已成为全球范围内广泛使用的支付工具之一。本文将为您提供关于如何使用 Paypal 实现自动订阅的详细教程,包括创建订阅计划、处理支付结果及订阅管理等关键步骤。

自动续费的五个步骤

根据官方文档,Paypal 提供了实现自动续费的五个步骤,实际开发中还需要处理支付结果和订阅管理:

  1. 事先创建并激活订阅计划;

  2. 用户创建订阅并跳转到 Paypal 网站等待用户同意;

  3. 用户同意后,跳转回网站并执行订阅;

  4. 获取用户账单,包括每次扣款结果的通知或主动查询支付结果;

  5. 处理用户取消订阅等通知。

使用 Paypal SDK

要实现自动订阅,首先需要通过 Composer 安装 Paypal SDK:

composer require paypal/rest-api-sdk-php

官方提供了完整的 Samples,可以帮助您快速入门。还可以通过 Paypal Sandbox 进行调试,方便模拟支付环境。

创建并激活订阅计划

  1. 订阅计划(Billing Plan) 相当于一个产品,需要为不同的商品创建不同的价格计划。如果有不同的用户需求,可以在创建协议时进行调整。

  2. 创建支付时,如果使用 TRIAL 类型,必须有 REGULAR 类型的支付,TRIAL 类型并不能自动判断新用户等条件,所以首次的优惠需要由业务代码实现。

  3. 首次扣款: 由于协议生效时间要求必须在当前时间24小时之后,循环扣款将无法立刻进行,最早也需要24小时。如果需要立即扣款,可以通过设置 MerchantPreferencessetSetupFee 参数来完成首次扣款。

  4. 遇到 "NotifyUrl" value is NULL 错误时,通常是 Paypal 服务端的错误,官方尚未修复,解决方法可参考 Github Issue

创建订阅

创建订阅协议时,用户可以针对同一订阅计划创建多个订阅协议。创建后,跳转到 Paypal 网站等待用户同意协议。以下是创建订阅的代码示例:

$link = $agreement->getApprovalLink();
parse_str(parse_url($link, PHP_URL_QUERY), $params);
$token = $params['token'];
  • 订阅计划可以被同一用户多次订阅,如果需要新订阅时,记得取消之前的协议。

  • 由于实际扣款时间通常会有延迟,可以提前一天进行扣款以确保支付的连贯性。

设置 Webhook 通知

可以在 My Apps -> REST API apps -> WEBHOOKS 设置 webhook 通知,当每次循环扣款成功时,Paypal 会发送 PAYMENT.SALE.COMPLETED 事件通知。可以通过 billing_agreement_id 字段将通知与对应的订阅协议匹配。

支付方式与管理

如果您遇到支付失败问题,可能是因为没有选择合适的支付方式。Paypal 支持多种支付方式,包括:

  • 信用卡支付:通过输入信用卡信息进行支付;

  • TORACOIN 支付:当账户余额不足时,可以通过 TORACOIN 充值;

  • 银行汇款与便利店支付:根据平台指引完成操作。

推荐服务:WildCard 一站式支付解决方案

为了帮助用户轻松完成全球范围内的支付,推荐使用 WildCard 提供的一站式服务。

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

  • 支持微信、支付宝支付,无需复杂操作。

  • 可轻松开通包括 ChatGPT、Claude、Google Play、Apple Store、OpenAI 等海外平台的订阅服务。

  • 使用邀请码:ACCPAY,享受消费 0 手续费和免开卡费优惠。

小贴士

  1. 确认充值账户信息:不同平台的充值点数不通用,确保充值账户与使用平台一致。

  2. 保留支付凭证:在支付完成后,务必保留相关凭证以备查询。

以上是关于 Paypal 自动订阅的详细教程。如果您有任何疑问,欢迎随时联系我们。我们将持续优化支付流程,为您提供更好的服务体验。

Subscribe to chuntian
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.