Что не так с этим запросом SetExpressCheckout для повторяющихся платежей? - PullRequest
2 голосов
/ 26 июля 2011

Хорошо, документы и примеры PayPal ужасны, поэтому я надеюсь, что кто-то еще может помочь мне разобраться в этом. Я делаю запрос PayPal SetExpressCheckout, используя их NVP API. Кажется, что мой код производит однократную оплату, а не подписку (которую я выяснил при получении IPN в формате единой оплаты, а не в формате подписки, также на панели покупателя / продавца «песочницы» в PayPal нет ничего, что говорило бы о том, что платежи в истории повторяются), поэтому я хочу знать, что я делаю не так. Это те пары ключ => значение, которые я использую, конечно же, я взрываю и отправляю их в PayPal правильным образом - как я уже сказал, это работает, но не так, как я хочу.

array
  'METHOD' => string 'SetExpressCheckout' (length=18)
  'PAYMENTREQUEST_0_AMT' => string '3.99' (length=4)
  'PAYMENTREQUEST_0_CURRENCYCODE' => string 'USD' (length=3)
  'PAYMENTREQUEST_0_PAYMENTACTION' => string 'Sale' (length=4)
  'PAYMENTREQUEST_0_INVNUM' => int 93
  'PAYMENTREQUEST_0_CUSTOM' => string '394mtrf1h5lfdeehvgrferk1n1' (length=26)
  'LOCALECODE' => string 'EN' (length=2)
  'NOSHIPPING' => int 1
  'REQCONFIRMSHIPPING' => int 0
  'RETURNURL' => string 'http://MYDOMAINXXXX.COM/payPal/return' (length=44)
  'CANCELURL' => string 'http://MYDOMAINXXXX.COM/upgrade' (length=38)
  'ALLOWNOTE' => int 0
  'LANDINGPAGE' => string 'Billing' (length=7)
  'EMAIL' => string 'dimitar@instinctiv.com' (length=22)
  'BILLINGPERIOD' => string 'Month' (length=5)
  'BILLINGFREQUENCY' => int 1
  'PROFILESTARTDATE' => string '2011-07-26' (length=10)
  'L_BILLINGTYPE0' => string 'RecurringPayments' (length=17)
  'L_BILLINGAGREEMENTDESCRIPTION0' => string 'Basic Subscription - 25GB' (length=34)
  'VERSION' => string '63.0' (length=4)
  'USER' => string 'pro_1307543338_biz_api1.gmail.com' (length=33)
  'PWD' => string 'XXXXXXXXX' (length=10)
  'SIGNATURE' => string 'AdTGraIKTCQ-O2lYSLlGJVfeJ1FWAKhC6Y8qZZxqGGkKkccrGxO45emb' (length=56)

Я подозреваю, что проблема может быть в PAYMENTREQUEST_0_AMT и других ключах PAYMENTREQUEST_N_XXX, так как в документах PayPal я вижу, что "PAYMENTREQUEST_N_AMT" "ДОЛЖЕН БЫТЬ" установлен в 0 для повторяющихся платежей, но также и в документах, которые они говорят, что используется AMT указать сумму, подлежащую выставлению счета за каждый цикл выставления счетов и осуждаемую, вместо этого использовать PAYMENTREQUEST_N_AMT "!?

Любая помощь приветствуется. Если вам нужна более конкретная информация, я предоставлю все, просто добавьте комментарий.

1 Ответ

4 голосов
/ 26 июля 2011

Вам все еще нужно вызвать CreateRecurringPaymentsProfile, чтобы создать профиль повторяющихся платежей.Если вы не хотите выставлять начальную сумму, вы можете оставить для AMT значение «0» для вызова API SetExpressCheckout.См. Также https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_CreateRecurringPayments и таблицу 4.2 в https://www.paypalobjects.com/en_US/ebook/PP_ExpressCheckout_IntegrationGuide/RecurringPayments.html

...