我正在尝试通过 Stripe 集成 Plaid。请耐心听我说,因为我对 javascript 不太熟悉。
我想知道如何将 public_token 和 account_ID 放入 PHP 变量中,以便我可以将其包含在curl 调用中。
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
)),
));
最佳答案
您将需要查看使用XMLHTTP ,也称为 AJAX。这允许 Javascript 通过 post 或 get 发出 HTTP 请求。如果这看起来太困难,您可以使用 jQuery.ajax方法(但您需要在 HTML 中包含 jQuery)。然后,您将能够将该请求指向您的 PHP 页面,您可以在其中发出 cURL 请求并通过 _POST 或 _GET 检索值。
示例如下:
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
假设包含 jQuery 并且尚未调用 jQuery.noConflict()。
$.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']
关于javascript - 将 Javascript 放入 PHP 变量——用于格子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41687215/