我正在尝试通过Stripe集成Plaid。请耐心等待我,因为我对javascript不是很熟悉。
我想知道如何将一个PHP变量放入public_token和account_ID,以便我可以包含在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
)),
));
答案 0 :(得分:1)
您需要查看使用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一样获取PHP中的变量:
'public_token' => $_GET['token'],
'account_id' => $_GET['acctid']