1 回答

TA貢獻1802條經驗 獲得超4個贊
當使用“僅客戶端”(即僅 Javascript)結賬時,只能傳入已知的 Price 對象,而不是動態價格:
這意味著您無法從前端 Javascript 傳遞商品的金額。相反,您必須在 Stripe Dashboard 中創建產品 + 價格,然后在按鈕代碼中引用價格的 ID:
(function() {
var stripe = Stripe('pk_test_6pRNASCoBOKtIshFeQd4XMUh');
var checkoutButton = document.getElementById('checkout-button-price_1H2XkYEESdtcMolQIxkRKapX');
checkoutButton.addEventListener('click', function () {
? stripe.redirectToCheckout({
? ? lineItems: [{price: 'price_1H2XkYEESdtcMolQIxkRKapX', quantity: 1}],
? ? mode: 'payment',
? ? successUrl: window.location.protocol + '//proadtraffic.com/success',
? ? cancelUrl: window.location.protocol + '//proadtraffic.com/canceled',
? })
? .then(function (result) {
? ? if (result.error) {
? ? ? var displayError = document.getElementById('error-message');
? ? ? displayError.textContent = result.error.message;
? ? }
? });
});
})();
</script>
但是,如果您想要從前端傳入的可變金額,您可以做的是創建 1 美元的價格(例如),然后根據您銷售的每種產品的需要設置數量。我建議使用允許動態定價的客戶端-服務器方法,或者為您銷售的商品創建價格并傳遞價格 ID,如上所示。
與 PayPal 按鈕不同,這種方法可以防止客戶編輯 Web 表單并給自己打折(例如)——Stripe 只允許在 Checkout 中顯示已知價格。
- 1 回答
- 0 關注
- 134 瀏覽
添加回答
舉報