2016-03-26 14 views
1

Ich versuche die Methode "DoDirectPayment" auf meiner Website zu implementieren. Ich habe Paypal Sandbox Konto und ich habe Paypal API in. Wenn ich die Währung als 'USD' eingestellt habe, dann gibt mein Code eine Erfolgsmeldung zurück. Wenn ich jedoch die Währung 'HKD' einstelle, wird die Meldung "Diese Transaktion kann wegen einer nicht unterstützten Währung nicht verarbeitet werden" zurückgegeben.Die Währung 'HKD' wird in "DoDirectPayment" Methode in Paypal unterstützt?

Hier habe ich meinen Code beigefügt. Bitte überprüfen Sie und geben Sie mir eine Lösung. Hier

$api_version = '78.0'; 
$api_endpoint = 'https://api-3t.sandbox.paypal.com/nvp'; 

$api_username = 'platfo_1255077030_biz_api1.gmail.com'; 
$api_password = '1255077037'; 
$api_signature = 'Abg0gYcQyxQvnf2HDJkKtA-p6pqhA1k-KTYE0Gcy1diujFio4io5Vqjf'; 



$creditcardtype = 'VISA'; 
$cardno = '4854897648835021'; 
$expdate = '112020'; 
$cvv = '176'; 
$PRICE = '50.00'; 
$currency_code = 'HKD'; 
$request_params = array(
         'USER' => $api_username, 
         'PWD' => $api_password, 
         'SIGNATURE' => $api_signature, 
         'VERSION' => $api_version, 
         'PAYMENTACTION' => 'SALE',     
         'CREDITCARDTYPE' => $creditcardtype, 
         'ACCT' => $cardno,       
         'EXPDATE' => $expdate,   
         'CVV2' => $cvv, 
         'AMT' => $PRICE, 
         'CURRENCYCODE' => $currency_code, 
         'FIRSTNAME'=>'James', 
         'LASTNAME'=>'Smith', 
         'STREET'=>'FirstStreet', 
         'CITY'=>'SanJose', 
         'STATE'=>'CA', 
         'COUNTRYCODE'=>'US', 
         'ZIP'=>95131 
        ); 
$request_params['METHOD'] = 'DoDirectPayment'; 


$nvp_string = ''; 
foreach($request_params as $var=>$val) 
{ 
    $nvp_string .= '&'.$var.'='.urlencode($val);  
} 

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_VERBOSE, 1); 
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); 
curl_setopt($curl, CURLOPT_TIMEOUT, 30); 
curl_setopt($curl, CURLOPT_URL, $api_endpoint); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $nvp_string); 

$result = curl_exec($curl);  
curl_close($curl); 
$response = NVPToArray($result); 
echo '<pre>'; 
print_r($response); 
echo '</pre>'; 


function NVPToArray($NVPString) 
{ 
    $proArray = array(); 
    while(strlen($NVPString)) 
    { 
     $keypos= strpos($NVPString,'='); 
     $keyval = substr($NVPString,0,$keypos); 
     $valuepos = strpos($NVPString,'&') ? strpos($NVPString,'&'): strlen($NVPString); 
     $valval = substr($NVPString,$keypos+1,$valuepos-$keypos-1); 
     $proArray[$keyval] = urldecode($valval); 
     $NVPString = substr($NVPString,$valuepos+1,strlen($NVPString)); 
    } 
    return $proArray; 
} 

ist die Ausgangsnachricht http://i.imgur.com/JMMG4I3.png

Vielen Dank im Voraus

Antwort