Jul*_*ien 21 php credit-card stripe-payments
在实时模式下使用Stripe时,我收到此PHP错误:
没有这样的令牌tok_fgfhn ..测试模式中存在类似的对象,但是使用了实时模式密钥来发出此请求
Stripe测试模式下一切都运行良好,而且我已切换到实时API密钥.
我创建了一个这样的新客户:
$token = $_POST['stripeToken'];
$email = $_POST['email'];
$customer = \Stripe\Customer::create(array(
'email' => $email,
'card' => $token
));
//charge for user ads
$charge = \Stripe\Charge::create(array(
'customer' => $customer->id,
'amount' => $amount,
'currency' => 'eur'
));
Run Code Online (Sandbox Code Playgroud)
我等了好几个小时但是我仍然遇到这个错误.我该如何解决?
查看使用测试公共 API 密钥检索令牌的 javascript。将其更改为您的实时公共 API 密钥。
它应该是这样的
Stripe.setPublishableKey('pk_test_axEdfdasdfasfsadfsad');
Run Code Online (Sandbox Code Playgroud)
小智 5
您的 Stripe 帐户中将有两个不同的密钥。请确保您已将两个测试密钥替换为实时密钥:
实时密钥:sk_live_00000000000000000000000
实时发布密钥:pk_live_00000000000000000000000
1-密钥将替换您所有收费的 php 脚本
\Stripe\Stripe::setApiKey("sk_live_00000000000000000000");
Run Code Online (Sandbox Code Playgroud)
2- 发布密钥将替换您验证付款表单的 .JS 文件中的内容,该文件还会在成功验证后创建令牌。它可能会调用 stripe.js 或您需要找到此文件的其他名称,它将具有您需要从测试到实时替换的发布密钥:
Stripe.setPublishableKey('pk_live_0000000000000'); //this would be publish key
function stripeResponseHandler(status, response) { //token function
if (response.error) {
// re-enable the submit button
$('.submit-button').removeAttr("disabled");
// show hidden div
document.getElementById('a_x200').style.display = 'block';
// show the errors on the form
$(".payment-errors").html(response.error.message);
} else {
var form$ = $("#payment-form");
// token contains id, last4, and card type
var token = response['id'];
// insert the token into the form so it gets submitted to the server
form$.append("<input type='hidden' name='stripeToken' value='" + token + "' />");
// and submit
form$.get(0).submit();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19698 次 |
| 最近记录: |