У меня есть следующая php-страница, которая работает нормально:
<html>
<head>
<script src="https://checkout.stripe.com/checkout.js"></script>
<script>
var handler = StripeCheckout.configure({
key: '<?=$stripePublicKey?>',
image: 'https://stripe.com/img/documentation/checkout/marketplace.png',
locale: 'auto',
token: function(token) {
// You can access the token ID with `token.id`.
// Get the token ID to your server-side code for use.
console.log("token.id: " + token.id);
console.log("token: " + token);
}
});
function init(){
document.getElementById('customButton').addEventListener('click', function(e) {
// Open Checkout with further options:
handler.open({
name: 'TruckerCert',
description: 'Buy Certs',
amount: 2000
});
e.preventDefault();
});
// Close Checkout on page navigation:
window.addEventListener('popstate', function() {
handler.close();
});
}
</script>
</head>
<body onload="init()">
<h1>Stripe Token Test</h1>
<button id="customButton">Purchase</button>
</body>
</html>
Она работает и создает следующий JSON:
{
"id": "tok_1E255j2*****wC135im",
"object": "token",
"card": {
"id": "card_1E255j2H1*****RGS4Kqc",
"object": "card",
"address_city": null,
"address_country": null,
"address_line1": null,
"address_line1_check": null,
"address_line2": null,
"address_state": null,
"address_zip": null,
"address_zip_check": null,
"brand": "Visa",
"country": "US",
"customer": null,
"cvc_check": "pass",
"dynamic_last4": null,
"exp_month": 12,
"exp_year": 2021,
"fingerprint": "3nk5B*****29xV",
"funding": "unknown",
"last4": "1111",
"metadata": {
},
"name": "her*******@gmail.com",
"tokenization_method": null,
"type": "Visa"
},
"client_ip": "67.***.***.17",
"created": 1549754315,
"email": "her********@gmail.com",
"livemode": false,
"type": "card",
"used": false
}
Так что это все как и ожидалось.Проблема в том, что единственный способ, которым я могу найти, чтобы отправить мою кредитную карту # и дату истечения срока действия и получить обратно JSON, - это просмотреть их пользовательский интерфейс.Например, когда я нажимаю на customButton
, появляется следующее диалоговое окно:
![enter image description here](https://i.stack.imgur.com/oCaIl.png)
Я не хочу использовать их форму cc.У меня есть своя собственная форма CC.Я хочу использовать свою собственную форму, отправить запрос ajax на конечную точку API Stripe и получить обратно JSON, как описано выше.Я пролистал онлайн-документы Stripe в течение часа и не могу найти способ сделать это.
Как это делается?