在本文中,我们将详细介绍如何在 PayPal 后台创建订阅产品与计划,并通过 PayPal API 自动化订阅创建流程。我们还将讨论如何配置 Webhook 以接收相关的通知。
1. 在 PayPal 后台创建产品及计划
正式环境创建订阅计划
沙盒环境创建订阅计划
进入链接后,您可以根据流程创建产品及计划。在此页面上创建的产品和计划仅适用于正式环境,沙盒环境的计划不会在此处显示。
创建流程示意
- 选择合适的产品类型(实物商品、数字商品或服务)。
- 填写详细的产品信息,如名称、描述、分类等。
2. 使用 API 创建产品及计划
API 地址
1. 获取 Token
首先,您需要获取 PayPal 的 clientId
和 Secret
,然后使用以下 API 获取 access_token
:
- 沙盒环境:
https://api.sandbox.paypal.com/v1/oauth2/token
- 正式环境:
https://api.paypal.com/v1/oauth2/token
2. 创建产品
使用以下 API 请求创建产品:
bash
curl -v -X POST https://api-m.sandbox.paypal.com/v1/catalogs/products \
-H "Content-Type: application/json" \
-H "Authorization: Bearer Access-Token" \
-H "PayPal-Request-Id: PRODUCT-18062020-001" \
-d '{
"name": "Video Streaming Service",
"description": "Video streaming service",
"type": "SERVICE",
"category": "SOFTWARE",
"image_url": "",
"home_url": "https://example.com/home"
}'
字段说明:
- name
:产品名称
- description
:产品说明
- type
:产品类型(PHYSICAL:实物商品;DIGITAL:数字商品;SERVICE:服务)
- category
:产品分类
- image_url
:产品图片
- home_url
:产品主页链接
3. 创建计划
通过以下 API 创建订阅计划:
bash
curl -v -X POST https://api-m.sandbox.paypal.com/v1/billing/plans \
-H "Content-Type: application/json" \
-H "Authorization: Bearer Access-Token" \
-H "PayPal-Request-Id: PLAN-18062019-001" \
-d '{
"product_id": "PROD-XXCD1234QWER65782",
"name": "Video Streaming Service Plan",
"description": "Video Streaming Service basic plan",
"status": "ACTIVE",
"billing_cycles": [
{
"frequency": {
"interval_unit": "MONTH",
"interval_count": 1
},
"tenure_type": "REGULAR",
"sequence": 1,
"total_cycles": 12,
"pricing_scheme": {
"fixed_price": {
"value": "6",
"currency_code": "USD"
}
}
}
],
"payment_preferences": {
"auto_bill_outstanding": true,
"setup_fee": {
"value": "6",
"currency_code": "USD"
},
"setup_fee_failure_action": "CONTINUE",
"payment_failure_threshold": 3
},
"taxes": {
"percentage": "0",
"inclusive": false
}
}'
字段说明:
- product_id
:产品 ID
- name
:计划名称
- billing_cycles
:计费周期,包含试用和定期计费
- payment_preferences
:支付设置,如是否自动计费、设置费等
4. 创建订阅
通过以下 API 创建订阅:
bash
curl -v -X POST https://api-m.sandbox.paypal.com/v1/billing/subscriptions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer
-H "PayPal-Request-Id: SUBSCRIPTION-21092019-001" \
-d '{
"plan_id": "P-5ML4271244454362WXNWU5NQ",
"start_time": "2022-07-21T00:00:00Z",
"quantity": "20",
"shipping_amount": {
"currency_code": "USD",
"value": "10.00"
},
"application_context": {
"brand_name": "walmart",
"locale": "en-US",
"shipping_preference": "SET_PROVIDED_ADDRESS",
"user_action": "SUBSCRIBE_NOW",
"payment_method": {
"payer_selected": "PAYPAL",
"payee_preferred": "IMMEDIATE_PAYMENT_REQUIRED"
},
"return_url": "https://example.com/returnUrl",
"cancel_url": "https://example.com/cancelUrl"
}
}'
字段说明:
- plan_id
:计划 ID
- start_time
:订阅开始时间(首次付款时间)
- quantity
:订阅数量
- shipping_amount
:运费
- application_context
:支付相关设置,如品牌名称、用户操作等
5. 获取订阅详情
通过以下 API 获取订阅详细信息:
bash
curl -v -X GET https://api-m.sandbox.paypal.com/v1/billing/subscriptions/I-BW452GLLEP1G \
-H "Content-Type: application/json" \
-H "Authorization: Bearer Access-Token"
6. 配置 Webhook
通过配置 Webhook,您可以接收与订阅相关的事件通知,确保订阅信息的同步更新。
结束语
通过本文,您应该已经掌握了如何通过 PayPal 后台和 API 创建订阅计划、管理产品,并配置 Webhook 接收订阅事件通知。