Ciao a tutti sono tornato, nel mio ultimo post stavo tentando di usare l'API SOAP (Integrating Dwolla with PHP with their API) ma ho scoperto che l'API SOAP è deprecata e apparentemente Dwolla ha un modo più efficiente come REST/oAuth2.0 che è per questo che sono qui oggi a chiedere come utilizzare l'API resto come è stato quasi 2 settimane e mi piacerebbe davvero imparare questo.Invio di denaro con l'API di Dwolla e utilizzo di PHP per farlo?
Prima di tutto, dirò che sono riuscito a ottenere un access_token senza problemi. Il problema è che quando provo a utilizzare un Endpoint di invio (https://www.dwolla.com/developers/endpoints/accountapi/send), in pratica, provo a inviare denaro e account. Il mio problema è che non riesco mai a ottenere una risposta positiva; solo risposte false o messaggi di errore.
Quindi nella pagina dell'indice ho il link "Aggiungi fondi al tuo account". Gli utenti faranno clic su quel link e li porteranno alla pagina Dwolla che li accetterà per accedere al proprio account Dwolla e quindi accettare le autorizzazioni richieste dal sito. Dopo che l'utente ha premuto "Accetta", reindirizzerà all'URL selezionato che ho scelto e invierà un access_token da utilizzare a fini di autorizzazione. Ecco il mio codice (Questa è la pagina che Dwolla reindirizza troppo e invia l'access_token troppo)
<?php
//Define variables
$key = 'redacted';
$secret = 'redacted';
$dwolla_client_id = urlencode($key);
$dwolla_secret_key = urlencode($secret);
$code = urlencode($_GET["code"]);
//get token
$retireve_token = file_get_contents("https://www.dwolla.com/oauth/v2/token?client_id=".$dwolla_client_id."&client_secret=".$dwolla_secret_key."&grant_type=authorization_code&redirect_uri=http://localhost/purchase_order.php&code=".$code);
$decoded_json = json_decode($retireve_token, true);
var_dump($decoded_json);
if($decoded_json["access_token"]){
$arr = '{
"oauth_token": "'.$decoded_json["access_token"].'",
"fundsSource": "balance",
"pin": "1111",
"notes": "Payment for services rendered",
"amount": 1.01,
"destinationId": "812-111-1111",
"assumeCosts": false,
"facilitatorAmount": 0,
"destinationType": "dwolla"
}';
$opts = array('http'=>array('method'=>"POST",'content'=> $arr, 'header' => 'Content-Type: application/json'));
$ctx = stream_context_create($opts);
$send_request = file_get_contents('https://www.dwolla.com/oauth/rest/accountapi/send', false, $ctx);
var_dump(json_decode($send_request));
}
?>
ricevo messaggi come questo per esempio
array (1) {[ "access_token"] = > string (50) "redacted"} Avviso: file_get_contents (https://www.dwolla.com/oauth/rest/accountapi/send): Impossibile aprire lo stream: richiesta HTTP non riuscita! HTTP/1.1 503 Servizio non disponibile in /home/swiftbitcoins/purchase_order.php on line 47 NULL
Grazie ho dimenticato che: D – Xenland
è tutto buono che ho rinnovato le mie credenziali e quelli vecchi non sono più validi – Xenland
sulla base di registro, penso che si dovrebbe chiedere Dwolla. Diceva 503 Servizio non disponibile. Questo dà l'idea che c'è un problema con il server. – ariefbayu