告诉 PayPal 自动处理每月付款

Posted

技术标签:

【中文标题】告诉 PayPal 自动处理每月付款【英文标题】:Tell PayPal to automatically process the monthly payment 【发布时间】:2014-12-21 03:40:34 【问题描述】:

参考:https://***.com/a/25730860/2735734

如何?

更新 1

这里是 PayPal 回复:

创建协议结果:

array (
      'name' => 'my name',
      'description' => 'my description',
      'plan' => 
      array (
        'id' => 'P-95307423V8719480UI4T4SGG',
        'state' => 'ACTIVE',
        'name' => 'title here',
        'description' => 'description here',
        'type' => 'INFINITE',
        'payment_definitions' => 
        array (
          0 => 
          array (
            'id' => 'PD-140035022V340531AI4T4SGG',
            'name' => 'Regular Payments',
            'type' => 'REGULAR',
            'frequency' => 'Month',
            'amount' => 
            array (
              'currency' => 'USD',
              'value' => '15.5',
            ),
            'cycles' => '0',
            'charge_models' => 
            array (
              0 => 
              array (
                'id' => 'CHM-9G272533RU378412KI4T4SGG',
                'type' => 'TAX',
                'amount' => 
                array (
                  'currency' => 'USD',
                  'value' => '1',
                ),
              ),
            ),
            'frequency_interval' => '1',
          ),
        ),
        'merchant_preferences' => 
        array (
          'setup_fee' => 
          array (
            'currency' => 'USD',
            'value' => '0',
          ),
          'max_fail_attempts' => '0',
          'return_url' => 'http://example.com/ok',
          'cancel_url' => 'http://example.com/cancel',
          'auto_bill_amount' => 'YES',
          'initial_fail_amount_action' => 'CONTINUE',
        ),
      ),
      'links' => 
      array (
        0 => 
        array (
          'href' => 'https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-4N736816FP8632455',
          'rel' => 'approval_url',
          'method' => 'REDIRECT',
        ),
        1 => 
        array (
          'href' => 'https://api.sandbox.paypal.com/v1/payments/billing-agreements/EC-4N736816FP8632455/agreement-execute',
          'rel' => 'execute',
          'method' => 'POST',
        ),
      ),
      'start_date' => '2014-10-25T11:54:20-00:00',
    )

在客户批准后。

执行协议结果:

array (
      'id' => 'I-CD3VD66KJKXX',
      'state' => 'Active',
      'description' => 'my description',
      'plan' => 
      array (
        'payment_definitions' => 
        array (
          0 => 
          array (
            'type' => 'REGULAR',
            'frequency' => 'Month',
            'amount' => 
            array (
              'currency' => 'USD',
              'value' => '15.50',
            ),
            'cycles' => '0',
            'charge_models' => 
            array (
              0 => 
              array (
                'type' => 'TAX',
                'amount' => 
                array (
                  'currency' => 'USD',
                  'value' => '1.00',
                ),
              ),
              1 => 
              array (
                'type' => 'SHIPPING',
                'amount' => 
                array (
                  'currency' => 'USD',
                  'value' => '0.00',
                ),
              ),
            ),
            'frequency_interval' => '1',
          ),
        ),
        'merchant_preferences' => 
        array (
          'setup_fee' => 
          array (
            'currency' => 'USD',
            'value' => '0.00',
          ),
          'max_fail_attempts' => '0',
          'auto_bill_amount' => 'YES',
        ),
      ),
      'links' => 
      array (
        0 => 
        array (
          'href' => 'https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-CD3VD66KJKXX/suspend',
          'rel' => 'suspend',
          'method' => 'POST',
        ),
        1 => 
        array (
          'href' => 'https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-CD3VD66KJKXX/re-activate',
          'rel' => 're_activate',
          'method' => 'POST',
        ),
        2 => 
        array (
          'href' => 'https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-CD3VD66KJKXX/cancel',
          'rel' => 'cancel',
          'method' => 'POST',
        ),
        3 => 
        array (
          'href' => 'https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-CD3VD66KJKXX/bill-balance',
          'rel' => 'self',
          'method' => 'POST',
        ),
        4 => 
        array (
          'href' => 'https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-CD3VD66KJKXX/set-balance',
          'rel' => 'self',
          'method' => 'POST',
        ),
      ),
      'start_date' => '2014-10-25T07:00:00Z',
      'agreement_details' => 
      array (
        'outstanding_balance' => 
        array (
          'currency' => 'USD',
          'value' => '0.00',
        ),
        'cycles_remaining' => '0',
        'cycles_completed' => '0',
        'next_billing_date' => '2014-10-25T10:00:00Z',
        'final_payment_date' => '1970-01-01T00:00:00Z',
        'failed_payment_count' => '0',
      ),
    )

注意第一个响应第二个的 start_date...

第一次付款没有完成......(我不知道另一个,我今天尝试每天付款......我现在必须等待......)

在沙盒帐户的预先批准区域中,处于活动状态并正确通知下一次计费。

【问题讨论】:

是沙盒问题,一切OK 【参考方案1】:

一旦用户完成并提交您创建的订阅购买页面,订阅将开始,并会在您选择的任何时间间隔自动重新计费客户的帐户。您无需执行任何操作。

更新:REST API 还会自动处理订阅。您不必每月重新提交。 PayPal 沙盒于今年 7 月更新,使您能够测试和处理订阅。开发社区中没有报告关于这不起作用的问题,所以我怀疑这是你这边的问题。

如果你还没有。请检查:

https://developer.paypal.com/docs/integration/direct/test-the-api/

有计费计划和计费订阅部分。如果您仍有问题,请发布您的计费方案代码和您收到的回复。

【讨论】:

以上是关于告诉 PayPal 自动处理每月付款的主要内容,如果未能解决你的问题,请参考以下文章

Paypal 自动支付每月订阅

PHP 和 Paypal IPN 订阅和定期付款

Paypal 订阅系统

如何将我的自动回复与 Paypal 联网以进行定期订阅付款?

aMember paypal ipn 不会创建自动首付款

Paypal IPN 初始和后续响应