我正在尝试使用curl设置我的三个订阅,并确保这些值正确。尝试发出请求并获得响应,但我的卷发无法正常工作。
https://developer.paypal.com/docs/api/subscriptions/v1/#plans_create
我的意图:
3种计划可供选择:精英(149 PHP /月),高级(349 PHP /月),豪华(549 PHP /月)
1个月就是30天(如贝宝所说)
id希望将其设置为每月自动更新,直到客户选择取消它为止。
一次只有一个处于活动状态,如果用户在运行中选择了三个,则将自动停止计费并向他们收取新的费用。 (例如:目前为精英149,选择后,订阅和续订将更改为549豪华)。
curl -v -X POST https://api.sandbox.paypal.com/v1/billing/plans \
-H "Content-Type: application/json" \
-H "Authorization: Basic account_clientid:account_secretcode" \
-H "PayPal-Request-Id: EPL-25012019-001" \
-d '{
"product_id": "MWC-2019EPL",
"name": "My White Card Subscription Plans",
"description": "MyWhiteCard Membership Levels",
"status": "ACTIVE",
"billing_cycles": [
{
"frequency": {
"interval_unit": "MONTH",
"interval_count": 1
},
"tenure_type": "REGULAR",
"sequence": 1,
"total_cycles": 999,
"pricing_scheme": {
"fixed_price": {
"value": "149",
"currency_code": "PHP"
}
}
},
{
"frequency": {
"interval_unit": "MONTH",
"interval_count": 1
},
"tenure_type": "REGULAR",
"sequence": 2,
"total_cycles": 999,
"pricing_scheme": {
"fixed_price": {
"value": "349",
"currency_code": "PHP"
}
}
},
{
"frequency": {
"interval_unit": "MONTH",
"interval_count": 1
},
"tenure_type": "REGULAR",
"sequence": 3,
"total_cycles": 999,
"pricing_scheme": {
"fixed_price": {
"value": "549",
"currency_code": "PHP"
}
}
}
],
"payment_preferences": {
"auto_bill_outstanding": true,
"setup_fee": {
"value": "0",
"currency_code": "PHP"
},
"setup_fee_failure_action": "CONTINUE",
"payment_failure_threshold": 3
},
"taxes": {
"percentage": "10",
"inclusive": false
}
}'
我刚拿出我帐户的client_id:secret
我的问题和疑虑:
"total_cycles": NEVER
是正确的输入吗?其他问题:
https://api.sandbox.paypal.com/v1/billing/plans
的实时等效内容,仅仅是https://api.live.paypal.com/v1/billing/plans
吗?1008{"error":"invalid_client","error_description":"Client credentials are missing"}
任何帮助将不胜感激。我只是确保一切都是必需的,因为这三个订阅将转到实时网站。我必须确定一次只能运行一个订阅。
更新:我尝试将其设置为curl -v -X POST https://api.production.paypal.com/v1/billing/plans
,但此功能也无法正常工作。
更新:任何人都可以显示一个有效的curl示例请求示例吗?
更新:在-H "Authorization: Basic account_clientid:account_secretcode"
,请注意,因为我不能公开展示,所以我在那儿拿出了我的ID码。我放在那里的一个例子是
-H "Authorization: Basic JAKRc85nJy2eMLq3aIV:01PvLC934xMAwLHqU4JqA89as4N"
答案 0 :(得分:2)
"access_token$production$"
,然后输入给出的代码?在您的示例中,您使用的是基本身份验证方案。您可以使用:
-H "Authorization: Bearer Access-Token" \
但是要回答您的问题,不,您不需要专门包含access_token
文本字符串。
是的,使用了请求ID,因此您可以重试API调用。 https://developer.paypal.com/docs/api/reference/api-requests/#http-request-headers
您将需要调用每个计划配置来创建三个订阅计划。基本上,在API doc示例中,它向您显示了它为试用期创建的结算周期以及它自己的常规计划。它还说:
https://developer.paypal.com/docs/api/subscriptions/v1/#plans_create
用于试用和常规结算的一系列结算周期。一个计划可以 有多个结算周期,但只有一个常规结算周期。
您还提到了:
如果用户选择了另一个,则一次只能激活一个 三个正在运行时,它们将自动停止获取 进行结算,并会为您收取费用。 (例如:当前 精英149,订阅和续订将更改为549豪华 选择)。
您需要最终以编程方式执行此操作。
如果用户取消订阅计划,则您需要通过以下方式取消其订阅: https://developer.paypal.com/docs/api/subscriptions/v1/#subscriptions_cancel
如果您打算更改订阅,那么首先需要取消现有的订阅,然后使用https://developer.paypal.com/docs/api/subscriptions/v1/#subscriptions_create
为用户订阅新的订阅计划。设置费只是您可以向客户收取的附加费。您需要通过将设置费用值设置为0来手动进行声明或使其成为可选项。 https://developer.paypal.com/docs/api/subscriptions/v1/#definition-payment_preferences
最大值为999。它仅接受整数。 https://developer.paypal.com/docs/api/subscriptions/v1/#definition-billing_cycle
因为税收取决于您所在的地区或国家/地区。您使用PHP或菲律宾比索作为货币,因此可能意味着您在菲律宾。您需要将税率设置为12%,因为这是对商品和服务征税的方式
来源:https://www.full-suite.com/blog/whats-difference-vat-percentage-tax/
Paypal税对象定义:https://developer.paypal.com/docs/api/subscriptions/v1/#definition-taxes
您可以在此处找到地址: https://developer.paypal.com/docs/api/overview/#get-an-access-token
它说:
1008{"error":"invalid_client","error_description":"Client credentials are missing"}
这可能意味着您正在传递无效的凭据。确保使用
通过标头发送它们Bearer <Access-Token>
或
Basic <client_id>:<secret>
并确认您的字符串输入代表实际值。
不要将Git Bash解释为命令行界面,它只是项目的版本控制工具。但是,用于Windows的Git软件包具有内置组件,这些组件应允许您运行CURL。 由于Curl安装在Bin目录中,因此您应该可以在任何目录上运行它。
您可以使用不同的工具来运行curl命令,最好使用脚本或编程语言(例如PHP,Phyton,Java甚至Node),它们对curl具有更好的支持,并且应该使您可以更简洁地编写和测试程序。
如果您想查看其他文档,贝宝(Paypal)有一个单独的开发人员文档,使您更容易遵循: https://developer.paypal.com/docs/api/quickstart/create-billing-plan/#