1. PayPal 后台创建产品及计划
在 PayPal 后台创建订阅计划时,您可以选择在正式环境或沙盒环境中进行操作。
正式环境创建订阅计划
访问以下链接创建正式环境的订阅计划:
https://www.paypal.com/merchantapps/appcenter/acceptpayments/subscriptions
沙盒环境创建订阅计划
访问以下链接创建沙盒环境的订阅计划:
https://www.sandbox.paypal.com/billing/plans
创建产品及计划流程
进入上述链接后,您可以按照步骤创建产品或计划。以下为示例图片:
此外,您还可以通过 API 创建产品及计划。
2. 通过 API 创建产品及计划
获取 API 访问地址
访问 PayPal API 文档地址:
https://developer.paypal.com/api/rest/
生成 Token
首先,获取您的 clientId
和 Secret
,然后通过以下地址生成 access_token
:
沙盒环境:
https://api.sandbox.paypal.com/v1/oauth2/token
正式环境:
https://api.paypal.com/v1/oauth2/token
创建产品
使用以下 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:产品 Logo
- home_url:产品主站地址
创建计划
使用以下 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
}
}’
3. 创建订阅
使用以下 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”
}
}’
4. WebHook 配置
在 PayPal 中配置 WebHook 以接收支付通知,以下为配置示例: