2017-02-25 58 views
1

我一直在试图找出几天没有运气的情况。 我正在尝试将Stripe Payments Checkout实施到我的网站中。付款金额作为JS变量在付款页面上。我能够使Basic Checkout正常工作,但显然不能使用自定义金额,或将任何数据发送到PHP处理页面(电子邮件和某些订单属性)。我一直在尝试使用自定义结帐,但我无法弄清楚。任何帮助?将条形支付(JS和PHP)与自定义金额(JS变量)集成

到目前为止,我有这个在config.php:

<?php 
require_once('vendor/autoload.php'); 

$stripe = array(
"secret_key"  => "MY SECRET KEY IS HERE", 
"publishable_key" => "MY PUBLISHED KEY IS HERE" 
); 

\Stripe\Stripe::setApiKey($stripe['secret_key']); 
?> 

,这是在一个名为process.php文件:

<?php 
require_once('./config.php'); 

$token = $_POST['stripeToken']; 
$input = $_POST["totalprice"]; 
$customer = \Stripe\Customer::create(array(
    'email' => '[email protected]', 
    'source' => $token 
)); 

$charge = \Stripe\Charge::create(array(
    'customer' => $customer->id, 
    'amount' => $input, 
    'currency' => 'usd' 
)); 

echo $input; 
?> 

而且在最初的PHP文件我有:

<?php require_once('./config.php'); ?> 
<form action="process.php" method="POST"> 
<script 
src="https://checkout.stripe.com/checkout.js" class="stripe-button" 
data-key="MY PUBLIC TEST KEY IS HERE" 
data-amount= amt * 100 
data-name="Test Name" 
data-description="Widget" 
data-image="/img/logo.jpg" 
data-locale="auto" 
> 
<form type=hidden name="totalprice" value=amt*100 action="process.php" method="POST"> 
</script> 
</form>  

虽然这样说,但我有一堆其他代码,我以前试过,没有工作,所以这当前的代码亲显然应该报废。我非常感谢我能得到的任何帮助!

回答

0

那么,下面是自定义集成的示例代码。

<script src="https://checkout.stripe.com/checkout.js"></script> 

<button id="customButton">Purchase</button> 

<script> 
var handler = StripeCheckout.configure({ 
    key: 'pk_test_6pRNASCoBOKtIshFeQd4XMUh', 
    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. 
    } 
}); 

document.getElementById('customButton').addEventListener('click', function(e) { 
    // Open Checkout with further options: 
    handler.open({ 
    name: 'Stripe.com', 
    description: '2 widgets', 
    zipCode: true, 
    amount: 2000 
    }); 
    e.preventDefault(); 
}); 

// Close Checkout on page navigation: 
window.addEventListener('popstate', function() { 
    handler.close(); 
}); 
</script> 

的源代码上this page

给出所以是你在找什么?