我無法從 paypal ExpressCheckout 方法中獲取交易 ID。
$provider = new ExpressCheckout;
$response = $provider->getExpressCheckoutDetails($request->token);
echo "<pre>";print_r($response);
Array
(
[TOKEN] => EC-79454119W8713794B
[BILLINGAGREEMENTACCEPTEDSTATUS] => 1
[CHECKOUTSTATUS] => PaymentActionNotInitiated
[TIMESTAMP] => 2021-11-01T04:14:23Z
[CORRELATIONID] => f00ab9c2819b4
[ACK] => Success
[VERSION] => 123
[BUILD] => 55938276
[EMAIL] => [email protected]
[PAYERID] => 238MG2US77AQY
[PAYERSTATUS] => unverified
[FIRSTNAME] => john
[LASTNAME] => doe
[COUNTRYCODE] => US
[ADDRESSSTATUS] => Confirmed
[CURRENCYCODE] => USD
[AMT] => 24.99
[ITEMAMT] => 24.99
[SHIPPINGAMT] => 0.00
[HANDLINGAMT] => 0.00
[TAXAMT] => 0.00
[DESC] => Order #61 Invoice
[INVNUM] => 61
[NOTIFYURL] => https://example.com/ipn/notify
[INSURANCEAMT] => 0.00
[SHIPDISCAMT] => 0.00
[INSURANCEOPTIONOFFERED] => false
[L_NAME0] => Monthly Unlimited
[L_QTY0] => 1
[L_TAXAMT0] => 0.00
[L_AMT0] => 24.99
[PAYMENTREQUEST_0_CURRENCYCODE] => USD
[PAYMENTREQUEST_0_AMT] => 24.99
[PAYMENTREQUEST_0_ITEMAMT] => 24.99
[PAYMENTREQUEST_0_SHIPPINGAMT] => 0.00
[PAYMENTREQUEST_0_HANDLINGAMT] => 0.00
[PAYMENTREQUEST_0_TAXAMT] => 0.00
[PAYMENTREQUEST_0_DESC] => Order #61 Invoice
[PAYMENTREQUEST_0_INVNUM] => 61
[PAYMENTREQUEST_0_NOTIFYURL] => https://example.com/ipn/notify
[PAYMENTREQUEST_0_INSURANCEAMT] => 0.00
[PAYMENTREQUEST_0_SHIPDISCAMT] => 0.00
[PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID] => [email protected]
[PAYMENTREQUEST_0_INSURANCEOPTIONOFFERED] => false
[L_PAYMENTREQUEST_0_NAME0] => Monthly Unlimited
[L_PAYMENTREQUEST_0_QTY0] => 1
[L_PAYMENTREQUEST_0_TAXAMT0] => 0.00
[L_PAYMENTREQUEST_0_AMT0] => 24.99
[PAYMENTREQUESTINFO_0_ERRORCODE] => 0
)
我需要交易 ID 才能退款。這就是為什么我需要交易 ID。這是我正在嘗試退款的功能
$response = $provider->refundTransaction($transactionid);
uj5u.com熱心網友回復:
使用 getExpressCheckout - 不會給你交易 ID
您將從回應中的 doExpressCheckout API 獲取交易 ID。
https://developer.paypal.com/docs/nvp-soap-api/do-express-checkout-payment-nvp/#doexpresscheckoutpayment-request-message
然后保留/存盤此交易 ID,稍后您可以執行退款程序。
- 如果您沒有存盤交易 ID,那么使用發票編號您可以使用 API 交易搜索 API https://developer.paypal.com/docs/nvp-soap-api/transaction-search-nvp/#transactionsearch-response-message . 它有多個引數(搜索選項),因此您將獲得交易 ID。
但 PayPal 建議使用 Option 1 。存盤交易 ID 并進行進一步的退款流程(而不是搜索 api)
uj5u.com熱心網友回復:
您將在執行 DoExpressCheckoutPayment API 呼叫后獲得它。在此之前,我認為您無法獲得交易 ID。你會得到這樣的回應:doExpressCheckoutPayment:
Array
(
[TOKEN] => EC-2FR88291S31672645
[SUCCESSPAGEREDIRECTREQUESTED] => false
[TIMESTAMP] => 2012-02-24T10:26:08Z
[CORRELATIONID] => a95c7a9bb64b3
[ACK] => Success
[VERSION] => 84
[BUILD] => 2571254
[INSURANCEOPTIONSELECTED] => false
[SHIPPINGOPTIONISDEFAULT] => false
[PAYMENTINFO_0_TRANSACTIONID] => 2RN165632T770592L
[PAYMENTINFO_0_TRANSACTIONTYPE] => expresscheckout
[PAYMENTINFO_0_PAYMENTTYPE] => instant
[PAYMENTINFO_0_ORDERTIME] => 2012-02-24T10:26:06Z
[PAYMENTINFO_0_AMT] => 10.00
[PAYMENTINFO_0_TAXAMT] => 0.00
[PAYMENTINFO_0_CURRENCYCODE] => GBP
[PAYMENTINFO_0_PAYMENTSTATUS] => Pending
[PAYMENTINFO_0_PENDINGREASON] => authorization
[PAYMENTINFO_0_REASONCODE] => None
[PAYMENTINFO_0_PROTECTIONELIGIBILITY] => Eligible
[PAYMENTINFO_0_PROTECTIONELIGIBILITYTYPE] => ItemNotReceivedEligible,UnauthorizedPaymentEligible
[PAYMENTINFO_0_SECUREMERCHANTACCOUNTID] => WLC8CZSP2C5L8
[PAYMENTINFO_0_ERRORCODE] => 0
[PAYMENTINFO_0_ACK] => Success
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/352504.html
上一篇:tkinter:如何使用一個垂直滾動條滾動兩個畫布?
下一篇:三邊三角形的面積
