2012-01-24 3 views
4

Я пытаюсь внедрить платежную систему с использованием нового API Paypal (Adaptive Payment).Рабочий процесс с PayKey с использованием Paypal Adaptive Payment

До сих пор, у меня есть этот рабочий процесс:

  • Отправить запрос на Paypal для: AdaptivePayments/Pay
  • Это создать запрос Pay, и возвращает payKey, который действителен 3 часа (source)
  • Теперь я жду, что paypal отправит мне запрос через IPN. Когда это произойдет, я получу pay_key с ним
  • Используя эту pay_key, я позвоню AdaptivePayments/PaymentDetails, чтобы узнать состояние платежа.

Но мне было интересно, как я могу это сделать, если прошло более 3 часов? (например, при возврате?)

Что такое верный способ?

Благодарим за помощь!

ответ

10

Хорошо, я отвечу на это и после небольшого чтения.

Вместо того, чтобы использовать payKey при вызове AdaptivePayments/Pay, и другим решением является использование trackingId.

Вот как:

Первый шаг, вы создаете AdaptivePayments/Pay и вы указали trackingId (должен быть уникальным):

{ 
    "actionType":"PAY", 
    "currencyCode":"USD", 
    "receiverList":{"receiver":[{"amount":"1.00","email":"[email protected]"}]}, 
    "returnUrl":"http://apigee.com/console/-1/handlePaypalReturn", 
    "cancelUrl":"http://apigee.com/console/-1/handlePaypalCancel?", 
    "trackingId":"abcde-12345-unique-of-course", 
    "ipnNotificationUrl":"http://apigee.com/console/-1/ipn", 
    "requestEnvelope":{"errorLanguage":"en_US", "detailLevel":"ReturnAll"} 
} 

В ответ, вы будете иметь payKey, что вы будете перенаправлять покупатель, чтобы сделать платеж.

Затем, для всей эволюции этого платежа, вы будете уведомлены на ваш IPN-адрес (здесь, «http://apigee.com/console/-1/ipn»).

Когда вы получите запрос (POST) на этот адрес, проверьте его правильность и вы получите trackingId в параметре. Убедитесь, что это trackingId существует, а затем спросить AdaptivePayments/PaymentDetails с этим trackingId, как это:

{ 
"trackingId":"{put here}", 
"requestEnvelope":{"errorLanguage":"en_US", "detailLevel":"ReturnAll"} 
} 

И вы будете иметь полный статус Более детальную оплаты в ответ.

Теперь вы делаете работу, чтобы обновить базу данных, обратитесь к покупателю, и т.д. и т.п. :)

Что было полезно для меня:

+2

Хороший! Документация Paypal настолько сложна, что сложно понять этот процесс. –

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