У меня есть собственный поток платежей Stripe на веб-сайте. Это основано на коде быстрого старта с JavaScript SDK, HTML и Python. Это создает PaymentElement
и монтирует его.
Все это работает (во всяком случае, в тестовом режиме) для карточных платежей. Однако, что бы я ни делал, я не могу заставить платежную форму отображать опцию Google Pay. Я включил Google Pay и Link в панели инструментов (также в тестовом режиме). Я тестирую на своем мобильном устройстве Android и установил Google Wallet. Я прикрепил карту, и мой банк сообщил мне, что карта зарегистрирована для Android Pay. Я также могу подтвердить на pay.google.com, что у меня есть способ оплаты.
Когда я пытаюсь совершить платеж на мобильном устройстве, на панели инструментов Stripe отображается следующее намерение платежа:
"automatic_payment_methods": {
"enabled": true
},
"capture_method": "automatic",
"payment_method_types": [
"card",
"link"
],
но форма оплаты просто показывает поле ввода номера карты без выбора Google Pay или Link. Любые идеи, что происходит не так? Одна из проблем заключается в том, что документы Stripe для Google и Apple Pay почти исключительно ссылаются на PaymentRequest
и кнопку запроса платежа, но они не используются в текущем примере кода Stripe, который просто основан на PaymentElement
.
Дополнительная информация: страница https://stripe.com/docs/payments/payment-element, я думаю, делает живую демонстрацию платежной формы с примечанием, что «Эта демонстрация отображает только Google Pay или Apple Pay, если у вас есть активная карта с любым кошельком». Это не показывает Google Pay на моем мобильном телефоне или в Chrome на настольном компьютере, даже если включены все настройки оплаты Chrome и сохраненный способ оплаты с логотипом Pay.
Если вы не видите Google Pay в верхней части этой страницы, я бы порекомендовал вам еще раз проверить несколько вещей:
allow sites to check if you have payment methods saved
включена.Как только вы увидите Google Pay в первой ссылке, которой я поделился, вы также должны увидеть ее в своем собственном платежном элементе, если вы используете httpS.
Ну... это довольно раздражает. Я уже проверил все эти вещи. Мобильный и настольный Chrome показывал только опцию «Ссылка» в верхней части вашей тестовой страницы, а не Google Pay, а Firefox ничего не показывал. В Android Chrome не было опции для
allow sites to check...
, но в Windows и Linux Chrome она была. Я еще немного поиграл с мобильным телефоном, и в конце концов в способах оплаты Chrome появилась моя карта. После этого ваша тестовая страница на Android показывала GPay вместо Link, а через 5 минут мой собственный сайт показывал Google Pay. Однако Windows/Linux Chrome по-прежнему неправильно отображает тестовую страницу.