Имя по-прежнему отображается в строке при попытке совершения полосовых платежей в приложениях Angular? - PullRequest
1 голос
/ 20 июня 2020

Я пытаюсь следовать руководству, которое добавляет Stripe в приложение Angular.

В обучающем видео показана документация на официальном сайте Stripe о том, как создать сеанс.

Внутри объект, используемый для создания сеанса, существует ряд позиций.

Позиции в обучающем видео: name, description, amount, currency.

До сих пор я отлично следил за руководством, но теперь получаю следующее сообщение об ошибке:

Purchasing course with id:  Z9CicdZalK023hJOJu7A
{
  payment_method_types: [ 'card' ],
  success_url: 'http://localhost:4200/stripe-checkout/?purchaseRe
  cancel_url: 'http://localhost:4200/stripe-checkout/?purchaseRes
  line_items: [ { name: '', description: '', amount: 1500, curren
}
Unexpected error occurred while purchasing course:  StripeInvalidems[0][name]'. We assume empty values are an attempt to unset a pet. You should remove 'line_items[0][name]' from your request

Я сам просматривал последнюю документацию здесь . Единственные позиции, упомянутые здесь, - это цена и количество, поэтому мне интересно, name больше не используется в качестве позиции, и, следовательно, причина, по которой я получаю сообщение об ошибке.

Может кто-нибудь посоветовать, пожалуйста, или нет в этом дело?

1 Ответ

2 голосов
/ 21 июня 2020

Чтобы улучшить интеграцию c, Stripe выпустила новый API под названием Price, который позволяет вам определять каталог продуктов в Stripe, а затем ссылаться на них непосредственно в Checkout. Идея состоит в том, что вы можете легко создавать продукты и цены на панели инструментов, а затем ссылаться на данный идентификатор цены price_123456 при создании своей кассы Session в API. Подробнее об этом можно узнать здесь: https://stripe.com/docs/payments/checkout/accept-a-payment

В вашем руководстве используется устаревший путь интеграции, при котором сведения о ценах можно передавать непосредственно в API. Это полагалось на отправку name, amount и тому подобное внутри line_items. Этот путь интеграции должен работать, хотя он считается устаревшим. Ошибка, которую вы здесь получаете, заключается в том, что вы передаете пустую строку для name, что недопустимо в API. Вам просто нужно изменить свой код, чтобы передать непустую строку для name, и он должен просто работать.

Я бы посоветовал вам настроить код, чтобы вместо этого передать price: 'price_123'. Вы также можете обратиться к автору учебника и попросить его обновить свой код, чтобы использовать последний путь интеграции.

...