Usm*_*han 2 javascript php codeigniter stripe-payments stripe.js
我已经实现了 Stripe 付款,但问题是我不断收到此错误:
{状态:500,错误:“缺少必需的参数:金额。”}
从代码中可以看出,我拥有所有参数,但我仍然不知道为什么会出现此错误。这是我正在使用的代码:
public function process(){
try {
Stripe::setApiKey('sk_text_key');
$charge = Stripe_Charge::create(array(
"amount" => 2000,
"currency" => "USD",
"card" => $this->input->post('access_token'),
"description" => "Stripe Payment"
));
} catch (Stripe_InvalidRequestError $e) {
// Invalid parameters were supplied to Stripe's API
echo json_encode(array('status' => 500, 'error' => $e->getMessage()));
exit();
}
}
Run Code Online (Sandbox Code Playgroud)
这是我用来提交表单的 JavaScript:
$(function() {
var $form = $('#payment-form');
$form.submit(function(event) {
$form.find('.submit').prop('disabled', true);
$form.find('.submit').val('Please wait...');
Stripe.card.createToken($form, stripeResponseHandler);
return false;
});
});
function stripeResponseHandler(status, response)
{
if (response.error) {
alert(response.error.message);
}
else {
$.ajax({
url: '<?php echo base_url('payment/process');?>',
data: {access_token: response.id},
type: 'POST',
dataType: 'JSON',
success: function(response){
console.log(response);
if(response.success)
window.location.href="<?php echo base_url('booking/thankyou'); ?>";
},
error: function(error){
console.log(error);
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
我发现您正在使用旧代码,在较新版本的 Stripe 中您可以Charge这样做:
// Token is created using Stripe.js or Checkout!
// Get the payment token ID submitted by the form:
$token = $_POST['stripeToken'];
$charge = \Stripe\Charge::create(array(
"amount" => 2000,
"currency" => "usd",
"description" => "Stripe Payment",
"source" => $token,
));
Run Code Online (Sandbox Code Playgroud)
请参阅此处的更多示例。
| 归档时间: |
|
| 查看次数: |
8846 次 |
| 最近记录: |