1

ここではエクスプレス チェックアウトを使用していますが、次のコードから Paypal の transaction_id (領収書に表示されるもの) を取得できません。

    $httpParsedResponseAr = $paypal->PPHttpPost('DoExpressCheckoutPayment', $padata, $PayPalApiUsername, $PayPalApiPassword, $PayPalApiSignature, $PayPalMode);

    //Check if everything went ok..

if("SUCCESS" == strtoupper($httpParsedResponseAr["ACK"]) || "SUCCESSWITHWARNING" == strtoupper($httpParsedResponseAr["ACK"])) {

  if(isset($httpParsedResponseAr["L_TRANSACTIONID0"])){
  $pay->transaction_id = $httpParsedResponseAr["L_TRANSACTIONID0"];
  }

$httpParsedResponseAr["L_TRANSACTIONID0"]) これが問題になるはずです。Paypal の API を何時間も調べて、5 つの異なることを試しましたが、まだ機能しません。

何か案は?

4

1 に答える 1

2

PayPal からの返品全体を印刷してみましたか? NVP API を使用した私のテスト:

TOKEN=EC-1HY00019TK493783V
SUCCESSPAGEREDIRECTREQUESTED=false
TIMESTAMP=2013-04-27T20:09:05Z
CORRELATIONID=c2fceba2812b1
ACK=Success
VERSION=87.0
BUILD=5817241
INSURANCEOPTIONSELECTED=false
SHIPPINGOPTIONISDEFAULT=false
PAYMENTINFO_0_TRANSACTIONID=73D205616H9478136
PAYMENTINFO_0_TRANSACTIONTYPE=expresscheckout
PAYMENTINFO_0_PAYMENTTYPE=instant
PAYMENTINFO_0_ORDERTIME=2013-04-27T20:09:04Z
PAYMENTINFO_0_AMT=15.15
PAYMENTINFO_0_FEEAMT=0.74
PAYMENTINFO_0_TAXAMT=0.00
PAYMENTINFO_0_CURRENCYCODE=USD
PAYMENTINFO_0_PAYMENTSTATUS=Completed
PAYMENTINFO_0_PENDINGREASON=None
PAYMENTINFO_0_REASONCODE=None
PAYMENTINFO_0_PROTECTIONELIGIBILITY=Eligible
PAYMENTINFO_0_PROTECTIONELIGIBILITYTYPE=ItemNotReceivedEligible,UnauthorizedPaymentEligible
PAYMENTINFO_0_ERRORCODE=0
PAYMENTINFO_0_ACK=Success

PAYMENTINFO_0_TRANSACTIONID が実際に探している変数のように見えます。

于 2013-04-27T20:11:41.387 に答える