2017-01-17 16 views
0

Plaid with Stripeを統合しようとしています。私は非常にjavascriptに精通していないので、私と一緒に熊。JavascriptをPHP変数に置き換えます - Plaid用

私はカールの呼び出しに含めることができるように私はPHP変数にpublic_tokenとACCOUNT_IDの中に置くことができる方法を知りたいです。

JS

<button id='linkButton'>Open Plaid Link</button> 
<script src="https://cdn.plaid.com/link/stable/link-initialize.js"></script> 
<script> 
var linkHandler = Plaid.create({ 
    env: 'tartan', 
    clientName: 'Stripe/Plaid Test', 
    key: '[Plaid key]', 
    product: 'auth', 
    selectAccount: true, 
    onSuccess: function(public_token, metadata) { 
    // Send the public_token and account ID to your app server. 
    console.log('public_token: ' + public_token); // HOW DO I PLACE THIS IN PHP/curl?** 
    console.log('account ID: ' + metadata.account_id); // HOW DO I PLACE THIS IN PHP/curl?** 
    }, 
}); 

PHP/CURL

$ch = curl_init(); 
curl_setopt_array($ch, array(
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_URL => 'https://tartan.plaid.com/exchange_token', 
    CURLOPT_POST => true, 
    CURLOPT_HTTPHEADER, array(
     'Content-Type: application/x-www-form-urlencoded', 
    ), 
    CURLOPT_POSTFIELDS => http_build_query(array(
     'client_id' => '[Plaid client ID]', 
     'secret' => '[Plaid secret]', 
     'public_token' => '[Plaid Link public_token]', // HOW DO I CREATE A VARIABLE FROM THE ABOVE JS (console.log('public_token: ' + public_token);) to place here** 
     'account_id' => '[Plaid Link account_id]', // HOW DO I CREATE A VARIABLE FROM THE ABOVE JS (console.log('public_token: ' + public_token);) to place here 
    )), 
)); 
+0

はjavascriptの変数を作成してみてくださいし、この ' '。お役に立てれば。 – EddyTheDove

+0

私はPlaid/Stripeのドキュメントを見ていませんが、PHPだけですべてをやることができます。あなたがJSで行う唯一のことは、あなたのPHPへのAJAX呼び出しを行うことですが、PHPが他のすべてを処理するようにします。また、あなたが一般に公開した機密性の低い情報は、より良いものです。 – CodeGodie

答えて

1

また、AJAXとして知られているXMLHTTPを使用してを見て、取ることになるでしょう。これにより、JavascriptはpostまたはgetでHTTP要求を行うことができます。このように見えない場合は、jQuery.ajaxメソッドを使用できます(ただし、HTMLにjQueryを含める必要があります)。これにより、cURLリクエストを行い、_POSTまたは_GETを使用して値を取得するPHPページにリクエストをポイントすることができます。 jQueryのは、含まれてjQuery.noConflict()が呼び出されていないと仮定すると

XMLHTTP要求

var url = 'curl.php?token='+public_token+'&acctid='+metadata.account_id; 
var xhttp = new XMLHttpRequest(); 
xhttp.onreadystatechange = function() { 
    if (this.readyState == 4 && this.status == 200) { 
     console.log(xmlhttp.responseText); 
    } 
}; 
xhttp.open("GET", url, true); 
xhttp.send(); 

JQUERY.AJAX

以下の通り

例。

$.ajax({ 
    method: "GET", 
    url: "curl.php", 
    data: { 
     token: public_token, 
     acctid: metadata.account_id 
    } 
}).done(function(msg) { 
    console.log(msg); 
}); 

上記の両方の例は理論的であり、テストされていませんが、動作するはずです。ここから、あなたはそうのようなあなたのPHPの変数を得ることができる必要があります:

'public_token' => $_GET['token'], 
'account_id' => $_GET['acctid'] 
関連する問題