2011-10-15 13 views
8

नमस्ते सबको मैं दोबारा वापस आ गया हूं, मेरी आखिरी पोस्ट में मैं एसओएपी एपीआई (Integrating Dwolla with PHP with their API) का उपयोग करने का प्रयास कर रहा था, लेकिन मुझे पता चला कि एसओएपी एपीआई को हटा दिया गया है और स्पष्ट रूप से ड्वॉला के पास आरईएसटी/ओएथ 2.0 जैसे अधिक कुशल तरीके हैं। यही कारण है कि मैं आज यहां पूछ रहा हूं कि बाकी एपीआई का उपयोग कैसे करें क्योंकि यह लगभग 2 सप्ताह रहा है और मैं वास्तव में इसे सीखना चाहता हूं।ड्वॉला के एपीआई के साथ पैसे भेजना और PHP का उपयोग करना?

सबसे पहले मैं कहूंगा कि मैं सफलतापूर्वक access_token प्राप्त करने में सक्षम हूं, मुझे ऐसा करने में कोई समस्या नहीं है। मुद्दा यह है कि जब मैं एक भेजें एंडपॉइंट (https://www.dwolla.com/developers/endpoints/accountapi/send) मूल रूप से पैसे भेजने और खाते भेजने का प्रयास करने का प्रयास करता हूं। मेरा सटीक मुद्दा यह है कि मैं कभी भी सफल प्रतिक्रिया प्राप्त नहीं कर सकता; केवल झूठी या त्रुटि संदेश प्रतिक्रियाएं।

तो इंडेक्स पेज पर मेरे पास "आपके खाते में धन जोड़ें" लिंक है। उपयोगकर्ता उस लिंक पर क्लिक करेंगे और यह उन्हें ड्वॉला पेज पर ले जाएगा जो उन्हें उनके ड्वॉला खाते में साइन इन करने के लिए स्वीकार करेगा, फिर वेबसाइट की अनुमतियों को स्वीकार कर लेगा। उपयोगकर्ता "स्वीकार करें" दबाए जाने के बाद यह चयनित यूआरएल पर रीडायरेक्ट करेगा जिसे मैंने चुना है और प्राधिकरण उद्देश्यों के लिए उपयोग करने के लिए 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)); 
     } 

?> 

मैं उदाहरण के लिए इस तरह संदेश प्राप्त करें (यह पृष्ठ कि Dwolla भी रीडायरेक्ट और भी ACCESS_TOKEN भेजता है)

सरणी (1) {[ "ACCESS_TOKEN"] = > स्ट्रिंग (50) "redacted"} चेतावनी: file_get_contents (https://www.dwolla.com/oauth/rest/accountapi/send): स्ट्रीम खोलने में विफल: HTTP अनुरोध विफल! HTTP/1.1 503 सेवा लाइन 47 शून्य

+0

धन्यवाद मुझे लगता है कि के बारे में भूल: डी – Xenland

+1

यह सब अच्छा मैं अपनी उपलब्धियों को नवीनीकृत कर दिया है और पुराने को अब अपने लॉग के आधार पर वैध – Xenland

+1

कर रहे हैं, मुझे लगता है कि आप dwolla पूछना चाहिए। यह कहा गया 503 सेवा अनुपलब्ध। यह सुराग देता है कि सर्वर के साथ समस्या है। – ariefbayu

उत्तर

0

क्या आप बनाने के लिए कोशिश कर रहे हैं GET अनुरोध जबकि Dwolla प्रलेखन पोस्ट अनुरोध के रूप में इस के लिए संदर्भित करता है पर /home/swiftbitcoins/purchase_order.php में उपलब्ध नहीं है।

बेहतर आप कर सकते हैं उपयोगकर्ता अपने PHP पुस्तकालय कॉल करने के तरीकों के साथ बनाया गया है। यह उपरोक्त कोड स्निपेट में लिखे गए तरीके को लिखने के बजाय आराम से कॉल करने के लिए एक मानक लाइब्रेरी है और बेहतर है।

https://github.com/Dwolla/dwolla-php

संबंधित मुद्दे