簡體   English   中英

如何從響應數組貝寶檢索多個購物車項目值

[英]how to retrieve multiple cart item values from response array paypal

我使用的是經典API,可以執行大多數操作,但是遇到了我似乎無法解決的問題。 我使用的是PHP,當我從GetExpressCheckoutDetails成功獲得“ ACK”后,我嘗試遍歷響應數組以獲取多個項目,但是它將不接受我的代碼。 我可以var_dump響應數組,它可以清楚地顯示鍵和值,並且可以測試值的輸出,看起來像這樣

Item Name = L_PAYMENTREQUEST_0_NUMBER0

Item Name = 45065

Item Name = L_PAYMENTREQUEST_0_NUMBER1

Item Name = 16030

我的for循環如下所示,其中“ $ httpParsedResponseAr”是PayPal的響應數組

$index = 0;
foreach ($httpParsedResponseAr as $key => $value){                  
    if ($key == 'L_PAYMENTREQUEST_0_NAME{$index}'){
      echo '<tr> ';
      echo '<td align="center" bgcolor="#39AD43"> 
              <p>Item Name = '.$key.'</p>
              <p>Item Name = '.$value.'</p>
            </td>';
     echo '</tr>';'
     } 
     $index++;
}

上面什么也沒有返回,

它將使我像下面這樣“硬編碼”密鑰字符串並返回正確的值

$index = 0;
foreach ($httpParsedResponseAr as $key => $value){                  
    if ($key == 'L_PAYMENTREQUEST_0_NAME0'){
      echo '<tr> ';
      echo '<td align="center" bgcolor="#39AD43"> 
              <p>Item Name = '.$key.'</p>
              <p>Item Name = '.$value.'</p>
            </td>';
     echo '</tr>';'
     } 
     $index++;
}

我的問題是,我將不知道響應中包含多少項(添加到“買家購物車”中),因此不知道要使用多少索引號,這就是為什么foreach循環的原因。

我也嘗試過

        if ($key == 'L_PAYMENTREQUEST_0_NAME'.$index){

如何檢索這些多個值?

我已經為字符串嘗試了所有不同的組合,但是它們不起作用。 我究竟做錯了什么?

提前致謝

index增量運算符放錯了位置,我已將'L_PAYMENTREQUEST_0_NAME{$index}'替換'L_PAYMENTREQUEST_0_NAME{$index}' L_PAYMENTREQUEST_0_NAME$index或者您也可以使用"L_PAYMENTREQUEST_0_NAME{$index}"

試試這個對我有用的方法:

$index = 0;
foreach ($httpParsedResponseAr as $key => $value){                  
    if ($key == "L_PAYMENTREQUEST_0_NAME$index"){
      echo '<tr>';
      echo '<td align="center" bgcolor="#39AD43"> 
              <p>Item Name = '.$key.'</p>
              <p>Item Value= '.$value.'</p>
            </td>';
      echo '</tr>';
      $index++;
     } 
}

這是我在SETEC中傳遞的:

  . "&METHOD=SetExpressCheckout" 
       . "&VERSION=115.0" 
       . "&RETURNURL=http://localhost/justbuy/ec_check.php"
       . "&CANCELURL=http://localhost/justbuy/ec_check.php"
       . "&PAYMENTREQUEST_0_CURRENCYCODE=USD"
       . "&PAYMENTREQUEST_0_ITEMAMT=99.30"
       . "&PAYMENTREQUEST_0_TAXAMT=2.58"
       // . "&localecode=zh_HK"
       . "&PAYMENTREQUEST_0_AMT=101.88"
       . "&PAYMENTREQUEST_0_CURRENCYCODE=USD"
       . "&PAYMENTREQUEST_0_PAYMENTACTION=Sale"
       . "&SOLUTIONTYPE=Sole"

       . "&L_PAYMENTREQUEST_0_NAME0=1 Decaf Kona Blend Coffee  "
       . "&L_PAYMENTREQUEST_0_NUMBER0=623083"
       . "&L_PAYMENTREQUEST_0_QTY0=1"
       . "&L_PAYMENTREQUEST_0_AMT0=9.95 "
       . "&L_PAYMENTREQUEST_0_QTY0=2"

        . "&L_PAYMENTREQUEST_0_NAME1=Coffee Filter bags  "
       . "&L_PAYMENTREQUEST_0_NUMBER1=623084"
       . "&L_PAYMENTREQUEST_0_QTY1=1"
       . "&L_PAYMENTREQUEST_0_AMT1=39.70"
       . "&L_PAYMENTREQUEST_0_QTY1=2";

以及我打印GETEC響應時的響應:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM