Получаване на уникалния идентификатор на транзакция, който клиентът вижда от Express Checkout

Използвам PayPal Express Checkout на акаунт в пясъчна среда и се опитвам да свържа уникалния идентификатор на транзакция на сайта на PayPal на „клиента“ със завършената транзакция чрез Express Checkout.

Моят DoExpressCheckoutPayment се върна:

TOKEN=EC%2d2KG36160AM8868619&
SUCCESSPAGEREDIRECTREQUESTED=false&
TIMESTAMP=2015%2d01%2d29T09%3a45%3a09Z&
CORRELATIONID=44060412ed341&
ACK=Success&
VERSION=93&BUILD=15009693&
INSURANCEOPTIONSELECTED=false&
SHIPPINGOPTIONISDEFAULT=false&
PAYMENTINFO_0_TRANSACTIONID=011446947E558235S&
PAYMENTINFO_0_TRANSACTIONTYPE=expresscheckout&
PAYMENTINFO_0_PAYMENTTYPE=instant&
PAYMENTINFO_0_ORDERTIME=2015%2d01%2d29T09%3a45%3a08Z&
PAYMENTINFO_0_AMT=7%2e98&
PAYMENTINFO_0_FEEAMT=0%2e47&
PAYMENTINFO_0_TAXAMT=0%2e00&
PAYMENTINFO_0_CURRENCYCODE=GBP&
PAYMENTINFO_0_PAYMENTSTATUS=Completed&
PAYMENTINFO_0_PENDINGREASON=None&
PAYMENTINFO_0_REASONCODE=None&
PAYMENTINFO_0_PROTECTIONELIGIBILITY=Ineligible&
PAYMENTINFO_0_PROTECTIONELIGIBILITYTYPE=None&
PAYMENTINFO_0_SECUREMERCHANTACCOUNTID=W9SM36U76AXSS&
PAYMENTINFO_0_ERRORCODE=0&
PAYMENTINFO_0_ACK=Success

Тогава моите GetExpressCheckoutDetails върнаха:

TOKEN=EC%2d2KG36160AM8868619&
BILLINGAGREEMENTACCEPTEDSTATUS=0&
CHECKOUTSTATUS=PaymentActionCompleted&
TIMESTAMP=2015%2d01%2d29T09%3a45%3a33Z&
CORRELATIONID=80e00a0067bea&
ACK=Success&
VERSION=93&
BUILD=15009693&
EMAIL=test1%40sud%2eco2euk&
PAYERID=H54VEN293PLFL&
PAYERSTATUS=verified&
FIRSTNAME=Test&
LASTNAME=User&
COUNTRYCODE=GB&
CURRENCYCODE=GBP&
AMT=7%2e98&
SHIPPINGAMT=0%2e00&
HANDLINGAMT=0%2e00&
TAXAMT=0%2e00&
INSURANCEAMT=0%2e00&
SHIPDISCAMT=0%2e00&
PAYMENTREQUEST_0_CURRENCYCODE=GBP&
PAYMENTREQUEST_0_AMT=7%2e98&
PAYMENTREQUEST_0_SHIPPINGAMT=0%2e00&
PAYMENTREQUEST_0_HANDLINGAMT=0%2e00&
PAYMENTREQUEST_0_TAXAMT=0%2e00&
PAYMENTREQUEST_0_INSURANCEAMT=0%2e00&
PAYMENTREQUEST_0_SHIPDISCAMT=0%2e00&
PAYMENTREQUEST_0_TRANSACTIONID=011446947E558235S&
PAYMENTREQUEST_0_INSURANCEOPTIONOFFERED=false&
PAYMENTREQUESTINFO_0_TRANSACTIONID=011446947E558235S&
PAYMENTREQUESTINFO_0_ERRORCODE=0

Но клиентският сайт казва:

PayPal Express Checkout Изпратено плащане (Уникален идентификатор на транзакция 7PK53077PJ222701T)


person Sam Jones    schedule 29.01.2015    source източник
comment
Да... това е странност на PayPal: всяка страна в транзакцията получава свой собствен идентификатор на транзакция. Не ми е известен начин една страна да получи идентификатора на транзакция на друга страна. За щастие, повечето, ако не и всички функции за търсене на PayPal, ще приемат и двата идентификатора. Например, ако клиент ви даде своя идентификатор за транзакция, в която сте страна, можете да търсите този идентификатор във вашия PP акаунт или API на TransactionDetails. Но ако искате да имате нещо споделено, което вие и клиент можете да обсъдите, за да идентифицирате транзакция, може да се наложи да добавите идентификатор на фактура, докато извършвате транзакцията.   -  person geewiz    schedule 29.01.2015


Отговори (1)


О..(болезнените) спомени :) Тази гореспомената "странност" съществува и другаде - напр. транзакции в eBay

IINM, ще трябва да изпратите свой собствен „персонализиран идентификатор“ – Invoice Id, споменат по-горе (който се показва на крайния потребител), така че и двата края да имат някаква визуална препратка към транзакция.

В REST API (не съм сигурен в Classic, не съм опитвал), ако изпратите Order, номерът на поръчката (накрая) се споделя от двата края (еднакъв и за двата). Въпреки че няма да навреди все пак да изпратите свой собствен „персонализиран идентификатор“/„Идентификационен номер на фактура“.

Потребителски интерфейс на Paypal за купувач/клиент: Визуална препратка на купувача

Потребителски интерфейс на Paypal на продавач/търговец: Визуална реф. на продавачаHth...

person EdSF    schedule 29.01.2015
comment
Потвърдено, настройката на свойството INVOICE при извикване на метода SetExpressCheckout съхранява стойността на фактурата с paypal, след което стойността на фактурата се връща, когато получите IPN - person Sam Jones; 05.02.2015