2012-01-24 2 views
4

새로운 Paypal API (Adaptive Payment)를 사용하여 지불 시스템을 구현하려고합니다.Paypal 적응 지불을 사용하여 PayKey로 워크 플로우

  • 가 페이팔에 요청을 보내기 :

    지금까지,이 흐름이 AdaptivePayments/Pay

  • 이 유료 요청을 생성하고, 유효한 payKey을 반환 3 시간 (source)
  • 자, 나는 페이팔이 IPN을 통해 요청을 보내주기를 기다린다. 그럴 경우 pay_key를받습니다.
  • 이 pay_key를 사용하여 AdaptivePayments/PaymentDetails으로 전화하여 지불 상태를 알 수 있습니다.

그러나 궁금한 점은 3 시간이 넘으면 어떻게 할 수 있습니까? (예 : 환불)

그럼 확실한 방법은 무엇입니까?

도움 주셔서 감사합니다.

답변

10

글쎄, 나는 그 책에 대해서 약간의 독서를하고 나 자신에게 대답 할 것이다.

AdaptivePayments/Pay을 호출 할 때 주어진 payKey 대신에 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 URL (여기에서 "http://apigee.com/console/-1/ipn")로 통보됩니다.

이 주소로 (POST) 요청을받을 때 paypal의 유효성을 확인하면 매개 변수에 trackingId이 표시됩니다. 이 trackingId가 있는지 확인하고 다음과 같이 그 trackingId와 AdaptivePayments/PaymentDetails 문의 :

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

을 그리고 당신은 대가로 지불의 완전한 자세한 것을 상태가됩니다.

지금, 당신은 당신의 구매자를, 데이터베이스를 업데이트 호출하는 일을, 등 등 :

나를 위해 도움이되었다 무엇 :

+2

좋은 정보! 페이팔 문서가 너무 복잡하기 때문에 프로세스를 이해하기 어렵습니다. –

관련 문제