Мы используем Stripe Setup Intent API для создания отложенных платежей.
Что мы делаем в основном:
Stripe.Elements
// Create a Stripe client
this.stripePayment = stripe;
this.stripeElements = this.stripePayment.elements({
clientSecret: setupIntent.clientSecret,
locale: 'en',
} as never);
this.paymentElement = this.stripeElements.create('payment', {
wallets: {
googlePay: 'auto'
}
});
this.paymentElement.mount('#stripe-payment-element');
Когда способ оплаты выбран - сохраните его с помощью метода Stipe.confirmSetup(...)
.
Расчет налога на основе местоположения платежной информации пользователя и расчет окончательной цены, включая налог.
Разрешите пользователю платить через нашу интеграцию Stripe/BE, которая использует следующую модель
export interface CheckoutSubscriptionsRequest {
payloadBody: {
numberOfAddOns?: number;
planId?: string,
price?: number,
promoCode: string;
paymentMethodId?: string;
zipcode?: string;
}
isAddOn?: boolean;
invoiceId?: string;
}
Все работает нормально, за исключением запутанного текста в модальном окне Google Pay.
Проблема в том, что там написано:
Pay [your company] $0
и на кнопке написано «Оплатить».
Хотя сейчас мы не платим, мы просто сохраняем информацию о платеже для следующего шага.
Итак, главный вопрос: можно ли как-то настроить модальное окно Google Pay? Это рассчитано на отсрочку платежей?
А если нет — приветствуются любые предложения по созданию понятного пользовательского интерфейса.
К сожалению, невозможно установить такую собственную сумму для платежного листа в тот момент, когда вы используете намерение установки. При использовании элемента платежа для единовременного платежа или подписки на этом листе будет отображаться правильная сумма, но когда прямо сейчас выплачивается 0 долларов, на листе отображается 0 долларов.
Кнопка запроса платежа в Stripe, состоящая из одной кнопки для Apple Pay, Google Pay или Link, имеет возможность отображать произвольные значения, указав amount
при создании запроса на платеж[1]. Поэтому, если вам действительно нужен этот пользовательский интерфейс, вы можете скрыть кошельки из своего платежного элемента и использовать PRB для отображения этого листа. Хотя это усложнит вашу страницу, а в современных интеграциях рекомендуется использовать элемент экспресс-оформления [2] вместо PRB, и, к сожалению, ECE имеет такое же ограничение: теперь он может показывать сумму в режиме setup
.
[2] https://docs.stripe.com/elements/express-checkout-element
Спасибо, интересно, все ли просто показывают 0 и соглашаются с этим?