Используя Stripe.net, как получить элементы из тела ответа на успешный платеж?

Использование API службы Stripe.net (https://github.com/jaymedavis/stripe.net ), как вы можете получить элемент из тела ответа об успешном списании средств?

Пример успешного тела ответа на оплату:

{
id: ch_xxxxxxxxxxxxxxxxxxx,
object: "charge",
created: 111111111,
livemode: true,
paid: true,
status: "succeeded",
amount: 33400,
currency: "usd",
refunded: false,
source:
    {
    id: card_xxxxxxxxxxxxxxxxx,
    object: "card",
    last4: "1234",
    brand: "Visa",
    funding: "credit",
    exp_month: 12,
    exp_year: 2010,
    fingerprint: "xxxxxxxxxxxx",
    country: "BR",
    name: "john smith",
    address_line1: "address 1",
    address_line2: null,
    address_city: "senai",
    address_state: null,
    address_zip: "00000",
    address_country: "MY",
    cvc_check: "pass",
    address_line1_check: "unavailable",
    address_zip_check: "unavailable",
    tokenization_method: null,
    dynamic_last4: null,
    metadata:
    {},
    customer: null
}
captured: true,
balance_transaction: "txn_xxxxxxxxxxxxxxxxx",
...

Я просто пытаюсь получить значения следующего:

address_line1_check: "unavailable",
address_zip_check: "unavailable",

Для тех, кому интересно, почему, просто то, что когда эти два значения «недоступны», это означает, что кредитная карта Банка не поддерживает эти функции защиты от мошенничества, и, исходя из опыта, существует высокая вероятность того, что эти платежи действительно мошеннические. Поэтому, как только я их обнаружу, я могу добавить к этим транзакциям красный флажок.

Лучше всего, если не нужно вносить изменения в API Stripe.net...

Спасибо за любую помощь.


person UTN    schedule 07.10.2015    source источник


Ответы (1)


Когда вы создаете платеж с помощью Stripe.net, он возвращает объект StripeCharge со свойствами для доступа к значениям, возвращаемым из Stripe API.

Например:

var chargeService = new StripeChargeService();
StripeCharge stripeCharge = chargeService.Create(myCharge);
string status = stripeCharge.Status;

Одним из свойств объекта StripeCharge является Source, который является StripeCard. Класс StripeCard имеет свойства для AddressLine1Check и AddressZipCheck, которые соответствуют нужным свойствам JSON. Таким образом, вы должны иметь возможность получить нужные значения следующим образом:

string addressLine1Check = stripeCharge.Source.AddressLine1Check;
string addressZipCheck = stripeCharge.Source.AddressZipCheck;

Для определения классов (чтобы увидеть все свойства) см. https://github.com/jaymedavis/stripe.net/blob/master/src/Stripe/Entities/StripeCharge.cs и https://github.com/jaymedavis/stripe.net/blob/master/src/Stripe/Entities/StripeCard.cs< /а>

person Alex    schedule 07.10.2015
comment
Будет ли он возвращать имя и адрес кредитной карты, даже если мы не передаем их в токене? - person Jamshaid K.; 21.10.2017
comment
@CodeIt нет, судя по тому, что я вижу в журналах полос моей учетной записи, это не так. - person Alex; 25.10.2017