2015-08-14 15 views
6

Ich habe einige Probleme mit der Neteller API, um Geld von unserem Händlerkonto an einen Benutzer zu übertragen. Ich habe den accessToken erfolgreich erhalten, aber wenn ich versuche, transferOut zu verwenden, erhalte ich nur ungültige Zugangsdaten? Der Code, den ich verwende ist:Neteller TransferOut mit PHP/CURL

$headers = array(
     "Content-type" => "application/json", 
     "Authorization" => "Bearer " . $accessToken 
    ); 

    //build the request body structure 
    $requestParams = array(
     "payeeProfile" => array(
      "email" => $the_email_address_to_send_to 
     ), 
     "transaction" => array(
      "merchantRefId" => $transaction_id, 
      "amount" => $amount, 
      "currency" => $currencyCode 
     ) 
    ); 

    // encode the requestParams to a string 
    $requestParams = json_encode($requestParams); 

    // The curl stuff 
    $curl = curl_init(); 
    curl_setopt($curl, CURLOPT_POST, 1); 
    curl_setopt($curl, CURLOPT_URL, "https://api.neteller.com/v1/transferOut"); 
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $requestParams); 
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 

    // Ok lets send this lovely looking curl over 
    $serverOutput = json_decode(curl_exec($curl)); 

Offensichtlich sind alle Variablen ($ transaction_id, $ Betrag, $ Währung) entsprechend eingestellt. Doch die Antwort, die ich zurück ist:

stdClass Object 
(
[error] => stdClass Object 
    (
     [code] => 5279 
     [message] => Authentication credentials are invalid 
    ) 

) 

Ich bin verwirrt, sicher die accessToken die Anmeldeinformationen, die ich brauche, und sie haben bereits eingegangen. Soll ich etwas anderes in die transferOut curl postfields aufnehmen?

Vielen Dank im Voraus

+0

'$ headers' sieht nicht OK aus - probiere $ headers = array (" Content-type: application/json "," Authorization: Bearer ". $ AccessToken);'. Zumindest ist dies das Format nach http://php.net/manual/en/function.curl-setopt.php – VolenD

+0

Yep das war es - einfach so. Vielen Dank! –

Antwort

4

Per user3584460's comment:

$headers nicht OK finden - versuchen $headers = array("Content-type: application/json", "Authorization: Bearer " . $accessToken);. Zumindest das ist das Format nach http://php.net/manual/en/function.curl-setopt.php

Hinweis, die Merchant Ref ID muss auch eine bestimmte Länge haben. unsicher, was - kann keine Referenz finden, aber 8 Zeichen ist nicht lang genug.