大家好,我又回来了,在我上一篇文章中,我试图使用SOAP api(
Integrating Dwolla with PHP with their API),但我发现SOAP API已被弃用,显然Dwolla有更高效的方式,如REST / oAuth2.0这就是为什么我今天在这里询问如何使用其余的API已经差不多2周了,我真的想学习这个.
首先,我会说我已经成功获得了access_token,我没有遇到任何问题.问题在于,当我尝试使用发送端点(https://www.dwolla.com/developers/endpoints/accountapi/send)时,基本上都是在尝试汇款和帐户.我的确切问题是我永远无法得到成功的回应;仅错误或错误消息响应.
因此,在索引页面上,我有“为您的帐户添加资金”链接.用户将点击该链接,它将带他们到Dwolla页面接受他们登录他们的Dwolla帐户然后接受网站要求的权限.在用户按下“接受”后,它将重定向到我选择的所选URL,并发送回access_token以用于授权目的.这是我的代码(这是Dwolla重定向的页面,也发送了access_token)
<?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)); } ?>
我收到这样的消息,例如
array(1) { [“access_token”]=> string(50)
“redacted” } Warning:
file_get_contents(07002):
Failed to open stream: HTTP request Failed! HTTP/1.1 503 Service
Unavailable in /home/swiftbitcoins/purchase_order.PHP on line 47 NULL