贝宝订阅设置

时间:2019-07-24 08:57:10

标签: html git curl paypal

我正在尝试使用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

我的问题和疑虑:

  1. 在访问令牌中,是否需要放入“ access_token $ production $”,然后输入给出的代码?
  2. 我可以手动创建Paypal请求ID和产品ID吗?
  3. 计费周期是否全部在同一命令上,还是我必须触发三遍?
  4. 如果客户订阅,安装费是否要收费?我首先假设是这种情况,并将其设置为0。
  5. 我的意图是使每月订阅(30天)自动续订,直到用户取消订阅为止。我将示例设置为12,但是"total_cycles": NEVER是正确的输入吗?
  6. 我不确定税收部分如何运作,为什么我要修改它?

其他问题:

  1. 文档没有显示链接https://api.sandbox.paypal.com/v1/billing/plans的实时等效内容,仅仅是https://api.live.paypal.com/v1/billing/plans吗?
  2. 我尝试使用git bash和curl添加上述代码,但在运行时它显示为1008{"error":"invalid_client","error_description":"Client credentials are missing"}
  3. 我是否尝试在Git bash中运行curl代码而不更改目录?我只是开始git并在此处运行curl:

1

任何帮助将不胜感激。我只是确保一切都是必需的,因为这三个订阅将转到实时网站。我必须确定一次只能运行一个订阅。

更新:我尝试将其设置为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"

1 个答案:

答案 0 :(得分:2)

Q1-在访问令牌中,是否需要放入"access_token$production$",然后输入给出的代码?

在您的示例中,您使用的是基本身份验证方案。您可以使用:

-H "Authorization: Bearer Access-Token" \

但是要回答您的问题,不,您不需要专门包含access_token文本字符串。


问题2-我可以手动创建Paypal请求ID和产品ID吗?

是的,使用了请求ID,因此您可以重试API调用。 https://developer.paypal.com/docs/api/reference/api-requests/#http-request-headers


Q3-计费周期是否全部在同一命令上,还是我必须触发三遍?

您将需要调用每个计划配置来创建三个订阅计划。基本上,在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

为用户订阅新的订阅计划。

Q4-如果客户订阅,安装费用是否要收取?我首先假设是这种情况,并将其设置为0。

设置费只是您可以向客户收取的附加费。您需要通过将设置费用值设置为0来手动进行声明或使其成为可选项。 https://developer.paypal.com/docs/api/subscriptions/v1/#definition-payment_preferences


Q5-我的意图是使每月订阅(30天)自动续订,直到用户取消订阅为止。我将示例设置为12,但是会出现“ total_cycles”:永远不是正确的输入吗?

最大值为999。它仅接受整数。 https://developer.paypal.com/docs/api/subscriptions/v1/#definition-billing_cycle


Q6-我不确定税收部分如何运作,为什么我要修改它?

因为税收取决于您所在的地区或国家/地区。您使用PHP或菲律宾比索作为货币,因此可能意味着您在菲律宾。您需要将税率设置为12%,因为这是对商品和服务征税的方式

来源:https://www.full-suite.com/blog/whats-difference-vat-percentage-tax/

Paypal税对象定义:https://developer.paypal.com/docs/api/subscriptions/v1/#definition-taxes


Q7-

您可以在此处找到地址: https://developer.paypal.com/docs/api/overview/#get-an-access-token

它说:

  

沙箱:https://api.sandbox.paypal.com   直播:https://api.paypal.com


Q8-我尝试使用git bash和curl添加上述代码,但在运行时它显示1008{"error":"invalid_client","error_description":"Client credentials are missing"}

这可能意味着您正在传递无效的凭据。确保使用

通过标头发送它们
Bearer <Access-Token>

Basic <client_id>:<secret>

并确认您的字符串输入代表实际值。


Q9-我是否尝试在Git bash中运行curl代码而不更改目录?我只是开始git并在此处运行curl:

不要将Git Bash解释为命令行界面,它只是项目的版本控制工具。但是,用于Windows的Git软件包具有内置组件,这些组件应允许您运行CURL。 由于Curl安装在Bin目录中,因此您应该可以在任何目录上运行它

您可以使用不同的工具来运行curl命令,最好使用脚本或编程语言(例如PHP,Phyton,Java甚至Node),它们对curl具有更好的支持,并且应该使您可以更简洁地编写和测试程序。


如果您想查看其他文档,贝宝(Paypal)有一个单独的开发人员文档,使您更容易遵循: https://developer.paypal.com/docs/api/quickstart/create-billing-plan/#