API PayPal Express Checkout. Существует ли способ обработки обоих повторяющихся платежей в одном сеансе с использованием метода CreateRecurringPaymentsProfile?

Я попытался обработать два повторяющихся платежа в одном сеансе, используя метод CreateRecurringPaymentsProfile. Вот хронология моих действий:

Сначала я установил метод SetExpressCheckout:

'METHOD'                        => 'SetExpressCheckout',
'RETURNURL'                     => $this->paypalreturnurl,
'CANCELURL'                     => $this->paypalcancelurl,
'PAYMENTREQUEST_0_CURRENCYCODE' => $this->paypalcurrencycode,
'PAYMENTREQUEST_0_PAYMENTACTION'=> 'SALE',
'L_BILLINGTYPE0'                => 'RecurringPayments',
'L_BILLINGAGREEMENTDESCRIPTION0'=> 'Tier 1 + Management Services',
'PAYMENTREQUEST_0_DESC'         => 'Tier 1 + Management Services',
'L_PAYMENTREQUEST_0_NAME0'      => 'Tier 1',
'L_PAYMENTREQUEST_0_NUMBER0'    => '10101',
'L_PAYMENTREQUEST_0_QTY0'       => '1',
'L_PAYMENTREQUEST_0_AMT0'       => '0.02',
'L_PAYMENTREQUEST_0_DESC0'      => 'Description of Tier 1',
'L_PAYMENTREQUEST_0_NAME1'      => 'Management Services 8 hours - for $0.01',
'L_PAYMENTREQUEST_0_NUMBER1'    => '212121',
'L_PAYMENTREQUEST_0_QTY1'       => '1',
'L_PAYMENTREQUEST_0_AMT1'       => '0.01',
'L_PAYMENTREQUEST_0_DESC1'      => 'Description of Management Services 8 hours - for $0.01',
'PAYMENTREQUEST_0_ITEMAMT'      => '0.03',
'PAYMENTREQUEST_0_AMT'          => '0.03'

После успешного ответа методом SetExpressCheckout, первый повторяющийся платеж выполнен успешно используя метод CreateRecurringPaymentsProfile. Вот параметры:

'L_PAYMENTREQUEST_0_NAME0'      => 'Management Services 8 hours - for $0.01',
'PROFILEREFERENCE'              => 'RPInvoice1234',
'PROFILESTARTDATE'              => date('Y-m-d') . 'T' . date('H:i:s').'Z',
'SUBSCRIBERNAME'                => 'Mr Sub Scriber',
'TOKEN'                         => urlencode($token),
'DESC'                          => 'Tier 1 + Management Services',
'AMT'                           => '0.01',
'BILLINGPERIOD'                 => 'Month',
'BILLINGFREQUENCY'              => '1',
'TOTALBILLINGCYCLES'            => '12',
'REGULARTOTALBILLINGCYCLES'     => '1',
'VERSION'                       => '74.0',
'MAXFAILEDPAYMENTS'             => '1',
'L_PAYMENTREQUEST_0_AMT0'       => '0.01',
'INITAMT'                       => '0.01',
'L_PAYMENTREQUEST_0_NUMBER0'    => '212121',
'L_PAYMENTREQUEST_0_QTY0'       => '1',
'L_BILLINGTYPE0'                => 'RecurringPayments',
'L_BILLINGAGREEMENTDESCRIPTION0'=> 'Tier 1 + Management Services',
'L_PAYMENTREQUEST_0_ITEMCATEGORY0'=> 'Digital'

После успешного ответа метода CreateRecurringPaymentsProfile я попытался создать еще один повторяющийся платеж ( к сожалению безуспешно ) используя аналогичные параметры и снова метод CreateRecurringPaymentsProfile:

'L_PAYMENTREQUEST_0_NAME0'      => 'Hosted Saas Tier 1',
'PROFILEREFERENCE'              => 'RPInvoice123',
'PROFILESTARTDATE'              => date('Y-m-d') . 'T' . date('H:i:s').'Z',
'SUBSCRIBERNAME'                => 'Mr Sub Scriber 2',
'TOKEN'                         => urlencode($token),
'DESC'                          => 'Hosted Saas Tier 1 + Community Management Services',
'AMT'                           => '0.02',
'BILLINGPERIOD'                 => 'Month',
'BILLINGFREQUENCY'              => '1',
'TOTALBILLINGCYCLES'            => '12',
'REGULARTOTALBILLINGCYCLES'     => '1',
'VERSION'                       => '74.0',
'MAXFAILEDPAYMENTS'             => '1',
'L_PAYMENTREQUEST_0_AMT0'       => '0.02',
'INITAMT'                       => '0.02',
'L_PAYMENTREQUEST_0_NUMBER0'    => '10101',
'L_PAYMENTREQUEST_0_QTY0'       => '1',
'L_BILLINGTYPE0'                => 'RecurringPayments',
'L_BILLINGAGREEMENTDESCRIPTION0'=> 'Hosted Saas Tier 1 + Community Management Services',
'L_PAYMENTREQUEST_0_ITEMCATEGORY0'=> 'Digital'

К сожалению, этот метод всегда возвращает одну и ту же ошибку, независимо от внесенных изменений:

Неверное описание профиля, L_ERRORCODE0 = 11581.

Когда я меняю порядок регулярных платежей та же ошибка появляется для первый регулярный платеж с названием «Услуги по управлению 8 часов — за $ 0,01» !? Проблема в том, что каждый раз, когда повторяющееся повторение возвращает одну и ту же ошибку — «Описание профиля недопустимо, L_ERRORCODE0 = 11581.»

Как я могу заставить это работать?

2

Решение

Вы можете вызывать CreateRecurringPaymentsProfile только один раз за один сеанс (один токен). Вы должны вызвать SetExpressCheckout, чтобы получить другой токен.

1

Другие решения

Наконец, с небольшой помощью службы поддержки PayPal я нашел решение для создания нескольких повторяющихся профилей в одном сеансе Express Checkout:

  • Сначала вы должны передать оба профиля в методе SetExpressCheckout (сначала
    метод в моем примере), например:

L_BILLINGTYPE0 = RecurringPayments

L_BILLINGAGREEMENTDESCRIPTION0 = Уровень 1

и второй продукт

L_BILLINGTYPE1 = RecurringPayments

L_BILLINGAGREEMENTDESCRIPTION1 = Услуги управления

  • А потом, после того, как покупатель утвердил оба в PayPal, вам нужно дважды вызвать CreateRecurringPaymentsProfile:

Один отправляет «DESC» со значением «Tier 1», а другой отправляет «DESC» со значением «Management Services»

Также проверьте это

1

По вопросам рекламы [email protected]