#python #stripe-payments
#python #python-3.x #stripe-платежи #номер телефона
Вопрос:
Я хотел бы потребовать от пользователя ввести свой номер телефона в Stripe checkout. Кажется, я не могу найти никакой информации о том, как это сделать.
Пример настройки:
# This example sets up an endpoint using the Flask framework.
# Watch this video to get started: https://youtu.be/7Ul1vfmsDck.
import os
import stripe
from flask import Flask, jsonify
app = Flask(__name__)
# Set your secret key. Remember to switch to your live secret key in production!
# See your keys here: https://dashboard.stripe.com/account/apikeys
stripe.api_key = 'sk_test_dQV7WggUdL2wzG5zU8fcJ81O'
@app.route('/create-checkout-session', methods=['POST'])
def create_checkout_session():
session = stripe.checkout.Session.create(
payment_method_types=['card'],
line_items=[{
'price_data': {
'currency': 'usd',
'product_data': {
'name': 'T-shirt',
},
'unit_amount': 2000,
},
'quantity': 1,
}],
mode='payment',
success_url= "https://yoursite.com/success.html",
cancel_url='https://example.com/cancel',
)
return jsonify(id=session.id)
if __name__== '__main__':
app.run(port=4242)
Ответ №1:
Сам объект сеанса проверки не содержит номера телефона. Лучшим подходом было бы создать клиента, используя ваши собственные формы, прежде чем перенаправлять на checkout, чтобы получить номер телефона клиента [1]. Затем вы указываете идентификатор клиента при создании сеанса [2].
[1] https://stripe.com/docs/api/customers/create#create_customer-phone
[2] https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-customer
Ответ №2:
Добавьте параметр «phone_number_collection», как показано ниже:
session = stripe.checkout.Session.create(
phone_number_collection={ # Here
'enabled': True, # Here
}, # Here
payment_method_types=['card'],
line_items=[{
'price_data': {
'currency': 'usd',
'product_data': {
'name': 'T-shirt',
},
'unit_amount': 2000,
},
'quantity': 1,
}],
mode='payment',
success_url= "https://example.com/success.html",
cancel_url='https://example.com/cancel',
)
Затем вы можете ввести номер телефона, как показано ниже: