Stripe source.chargeable событие с нулевыми свойствами, такими как сумма и валюта - PullRequest
0 голосов
/ 26 июня 2018

Правильно ли взимать плату с источника на основании суммы и валюты данных о событии?Иногда я получаю такие события, как:

{
  "object": {
    "id": "src_1Ch7qCIhY6Z3DMWts3HPpWoH",
    "object": "source",
    "amount": null,
    "card": {
      "exp_month": 2,
      "exp_year": 2022,
      "address_zip_check": "unchecked",
      "brand": "Visa",
      "card_automatically_updated": false,
      "country": "US",
      "cvc_check": "unchecked",
      "fingerprint": "xGimquKE7Rnk7LK2",
      "funding": "credit",
      "last4": "3063",
      "three_d_secure": "required",
      "address_line1_check": null,
      "tokenization_method": null,
      "dynamic_last4": null
    },
    "client_secret": "src_client_secret_D7MZe67elxyyCGGAaUA1lCsS",
    "created": 1529983660,
    "currency": null,
    "flow": "none",
    "livemode": false,
    "metadata": {
    },
    "owner": {
      "address": {
        "city": null,
        "country": null,
        "line1": null,
        "line2": null,
        "postal_code": "22222",
        "state": null
      },
      "email": null,
      "name": null,
      "phone": null,
      "verified_address": null,
      "verified_email": null,
      "verified_name": null,
      "verified_phone": null
    },
    "statement_descriptor": null,
    "status": "chargeable",
    "type": "card",
    "usage": "reusable"
  },
  "previous_attributes": null
}

Сумма уведомления и валюта не указываются.Почему isit null, даже если я установил сумму и валюту при создании источника?Я также замечаю, что иногда он установлен правильно.Должен ли я полагаться на этот набор свойств?Или я должен хранить их в моей БД?И сохраните этот идентификатор транзакции из БД в метаданные источника, например.


ОБНОВЛЕНИЕ

Я понял, что это событие вызывается, когда мой интерфейс создает источник 3ds.

stripe.createSource(card).then(function (result) {
    console.log(result.source)
})

Я немного сбит с толку, документы сказали:

При создании источника 3D Secure его статус обычно сначала устанавливается в состояние ожидания и пока не может использоваться для создания.заряд.В некоторых случаях статус источника 3D Secure можно сразу установить на платный.Это может произойти, если карта клиента еще не была зарегистрирована в 3D Secure.

Но я использую тестовую карту 4000000000003063, для которой требуется проверка 3ds.Почему он сразу взимается?

status: "chargeable"
type: "card"
usage: "reusable"

1 Ответ

0 голосов
/ 26 июня 2018

Источник, который вы создаете, является обычным источником карты, который отличается от источника Three D Secure.Этот источник карты сам по себе является платным, но если вы попытаетесь зарядить его, вы увидите, что он будет отклонен, поскольку для карты требуется 3DS.

Если источник карты указывает, что требуется Three D Secure, то вам необходимоиспользуйте его для создания источника 3DS и приступайте к зарядке, которая вместо этого: https://stripe.com/docs/sources/three-d-secure#create-3ds-source

...