2015-08-20 2 views
0

Paypal предоставляет GetTransactionDetails вызов API для получения статуса транзакции транзакции. Но для этого требуется TRANSACTIONID как обязательный параметр, который является идентификатором транзакции, назначенным Paypal для этой транзакции.Получить статус транзакции с помощью Paypal с использованием транзакции Merchant ID

Это TRANSACTIONID возвращено Paypal после завершения оплаты. Но в сценариях, когда клиент произвел платеж и возвращается на страницу продавца, и сеть нарушена, продавец не сможет получить статус платежа, а также идентификатор транзакции paypal. Как торговец сможет получить транзакцию позже, используя вызов API? Есть ли способ получить статус, используя идентификатор транзакции продавца?

+1

Если у вас есть идентификатор транзакции (любая сторона, отправитель или получатель), это то, что делает GetTransactionDetails. Если у вас нет идентификатора транзакции, вам придется искать его через TransactionSearch. – geewiz

ответ

1

Вы можете передать свой собственный идентификатор счета в переменной INVNUM, а затем запустить API TransactionSearch, чтобы получить информацию, передав «INVNUM», который даст вам ответ с идентификатором транзакции PayPal (если транзакция будет иметь не прошло).

И как только вы получите идентификатор транзакции для PayPal, запустите API «GetTransactionDetails» для получения подробной информации. Я включил запрос образца и ответ, где в первом api я использовал свой собственный invnum для извлечения деталей, а затем с помощью идентификатора txn PayPal в ответ я получил полную информацию.

NVP Request: 
USER=us-XXXX&PWD=XXXX&SIGNATURE=XXXX&VERSION=109.0&METHOD=TransactionSearch&STARTDATE=2015-08-08T00:00:00Z&TRANSACTIONCLASS=All&INVNUM=MyOWNID123456 

NVP Response: 
L_TIMESTAMP0=2015-08-20T16:43:10Z 
L_TIMEZONE0=GMT 
L_TYPE0=Payment 
L_NAME0=John Test 
L_TRANSACTIONID0=33407257W5286551J 
L_STATUS0=Completed 
L_AMT0=0.01 
L_CURRENCYCODE0=USD 
L_FEEAMT0=-0.01 
L_NETAMT0=0.00 
TIMESTAMP=2015-08-20T16:44:22Z 
CORRELATIONID=7247ad390a76 
ACK=Success 
VERSION=109.0 
BUILD=000000 



NVP Request: 
USER=XXXX&PWD=XXXX&SIGNATURE=XXX&VERSION=109.0&METHOD=GetTransactionDetails&TRANSACTIONID=33407257W5286551J 

NVP Response: 
RECEIVERBUSINESS=XXXXX 
RECEIVEREMAIL=XXXXXX 
RECEIVERID=XXXXX 
PAYERID=RPP8F58J274JG 
PAYERSTATUS=unverified 
COUNTRYCODE=US 
ADDRESSOWNER=PayPal 
ADDRESSSTATUS=None 
INVNUM=MyOWNID123456 
SALESTAX=0.00 
SHIPAMOUNT=0.00 
SHIPHANDLEAMOUNT=0.00 
TIMESTAMP=2015-08-21T04:03:50Z 
CORRELATIONID=db0509e83df7c 
ACK=Success 
VERSION=109.0 
BUILD=000000 
FIRSTNAME=John 
LASTNAME=Test 
TRANSACTIONID=33407257W5286551J 
RECEIPTID=5098-8700-1518-0878 
TRANSACTIONTYPE=webaccept 
PAYMENTTYPE=instant 
ORDERTIME=2015-08-20T16:43:10Z 
AMT=0.01 
FEEAMT=0.01 
TAXAMT=0.00 
CURRENCYCODE=USD 
PAYMENTSTATUS=Completed 
PENDINGREASON=None 
REASONCODE=None 
PROTECTIONELIGIBILITY=Ineligible 
PROTECTIONELIGIBILITYTYPE=None 
L_QTY0=1 
L_TAXAMT0=0.00 
L_CURRENCYCODE0=USD 
L_TAXABLE0=false 
+0

Нужно быть осторожным. В продукте PayPal TransactionSearch не может найти транзакцию немедленно. Это не даст никаких результатов при вызове сразу после оплаты. Не уверен, сколько времени потребуется, чтобы транзакция стала доступной в поиске. –