2015-05-05 2 views
2

Согласно the documentationpaypal способ оплаты должен быть в состоянии сделать авторизацию & Захват просто отлично. Ниже приводится выдержка под PayPal авторизации выдержки конкретно говорится, как идти об этом:Paypal Payments (авторизация и регистрация) не возвращается Идентификатор авторизации

Сначала получите подтверждение оплаты и выполнить платеж, как обычно делаем для оплаты PayPal. После успешного выполнения авторизации платежа PayPal отвечает новым набором ссылок HATEOAS, включая ссылку захвата, которую вы используете для фиксации платежа.

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

  1. Создать Оплата
  2. Перенаправление пользователя на HATEOAS ссылку approval_url, чтобы получить их, чтобы войти в систему PayPal.
  3. Вернитесь к успеху (или отмените, но не в этом примере) ссылку.
  4. Получить Платежный увидеть, что изменилось, получить адрес доставки/и т.д ....
  5. Пусть клиент обзор подробности
  6. Execute Платежных совершить в трюм на средства.
    • В этот момент ссылка AuthorizationID/HATEOAS должна содержать информацию об авторизации.
  7. Спустя некоторое время используйте идентификатор авторизации для съемки, и voila, все готово.

Теперь это все хорошо и денди, но в моих тестах на песочнице У меня возникли проблемы с извлечением авторизации ID в любом.

Вот мой HATEOAS Ссылки я получаю от моего Execute Шага:

Payment HATEOAS Links

Как вы можете видеть, только self ссылки возвращается, согласно документации должна быть один capture ссылкой по крайней мере, что должен иметь в нем идентификатор авторизации.

Кроме того, нигде в корпусе ответа нет идентификатора авторизации. Однако, если я смотрю на компенсации в моей песочнице PAYPAL приборной панели:

List

И когда я углубиться в него:

Details

Конечно, если я позвоню вызов Authorization.Capture API против 8B633793L37511009 он захватывает, как и следовало ожидать. Однако я не могу найти программный способ определить это число.


Как я должен хранить номер авторизации, чтобы мои инструменты могли захватить позже, когда были выполнены наши бизнес-условия?

ответ

2

В начале, когда вы создаете платеж с намерением authorize, вы должны получить объект авторизации в ответе. Этот объект имеет идентификатор, необходимый для захвата позже.

Проверьте this blog post, чтобы увидеть, нет ли у вас чего-то принципиального в изображении.

Я следил за учебником и выполнял образцы запросов через curl. Как вы можете видеть, я получил идентификатор авторизации под transactions->related resources->authorization->id

screenshot of paypal authorization object

Тогда я использовал идентификатор в URL и успешно захватили платеж.

Надеюсь, это поможет, если это не так, пожалуйста, уточните и, возможно, я смогу вам помочь. Удачи!

+0

Это научит меня не смотреть на фактический результат. Прототип, который я использовал, имел родственные_ресурсы, все рухнули в сторону, поэтому я даже не видел запись! – Aren

 Смежные вопросы

  • Нет связанных вопросов^_^