Периодическая оплата Paypal Sandbox с первоначальной суммой в ожидании

Я использую библиотеку PHP здесь, чтобы создать новый профиль подписки. Если я установил начальную сумму, профиль появится как "Ожидание".

Пример:

Pending
Customer Mark Wally Verified
Profile start date Feb 18, 2013 | Profile ID I-BE824P6F9PER

С другой стороны, если я не задал начальную сумму платежа, профиль будет активен. Я устанавливаю начальный платеж и дату начала 1 месяц в будущем, так как я хочу ежемесячно выставлять счет и получать платеж сразу.

Я уже проверял:

  • Учетная запись настроена на прием денег в любой валюте.
  • Аккаунт продавца включает в себя цифровые товары (созданные с помощью автоматизированного процесса).
  • Оба аккаунта проверены
  • У учетной записи покупателя есть кредитная карта, а также баланс Paypal.
  • Оба аккаунта базируются на США
  • Я пробовал несколько учетных записей

Любая помощь будет принята с благодарностью!

Фрагмент кода для создания подписки, использующей перечисленную выше библиотеку:

$subscription_details = array(
  'description'    => 'Premium membership: $4.95 every 30 days',
  'initial_amount' => '4.95',
  'amount'         => '4.95',
  'period'         => 'Day',
  'start_date'     => gmdate( 'Y-m-d\TH:i:s', strtotime( '+30 day' ) ),
  'frequency'      => '30'
);

Ответ 1

На всякий случай у кого-то еще есть эта проблема, мои результаты:

Нечего решать - песочница просто очень медленная, иногда потребовалось пару дней, чтобы профиль стал активным и отправил IPN. Другими словами, песочница не хороша, чтобы протестировать эти функции вообще, просто перейдите на живую и верните пару тестов. Даже жить иногда занимает немного времени... Я видел, что это занимает несколько часов, поэтому не сходите с ума.

Ответ 2

Из PayPal doco:

"По умолчанию PayPal не активирует профиль, если сумма первоначального платежа не удалась. Чтобы переопределить это поведение по умолчанию, установите для поля FAILEDINITAMTACTION значение ContinueOnFailure. Если начальная сумма платежа не удалась, ContinueOnFailure дает указание PayPal добавить сумму неудачного платежа в непогашенный остаток, причитающийся в отношении этого повторяющегося платежного профиля.

Если вы не установите FAILEDINITAMTACTION или установите для CancelOnFailure, PayPal создаст повторяющийся профиль платежей. Однако PayPal помещает профиль в ожидающий статус до завершения первоначального платежа. Если первоначальный платеж очищается, PayPal уведомляет вас с помощью Мгновенного уведомления о платежах (IPN), что он активировал ожидающий профиль. Если платеж не удался, PayPal уведомляет вас IPN о том, что он отменил ожидающий профиль "

из https://cms.paypal.com/mx/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_WPRecurringPayments, чуть ниже Таблицы 6.