2015-10-07 18 views
1

使用Stripe.net服務API(https://github.com/jaymedavis/stripe.net),如何從成功收費的響應正文中檢索項目?成功的充電響應體的使用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", 

對於那些好奇,爲什麼,只是當這兩個值是「不可用」的,這意味着銀行的信用卡不支持這些反欺詐功能,而且從經驗來看,這些收費確實存在欺詐的可能性很高。因此,一旦我發現它們,我就可以在這些交易中添加一個紅旗。

最佳,如果沒有必要進行更改Stripe.net API ...

感謝您的任何幫助。

回答

3

當您使用Stripe.net創建收費時,它會返回一個帶有用於訪問從Stripe API返回的值的屬性的StripeCharge對象。

例如:

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

其中StripeCharge對象的屬性的是源,其是一個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.cshttps://github.com/jaymedavis/stripe.net/blob/master/src/Stripe/Entities/StripeCard.cs

+0

它是否將返回的信用卡名稱和偶數地址如果我們不把它傳遞給令牌? – CodeIt

+0

@Code它不,根據我在我的帳戶的條紋日誌中看到的情況,它沒有。 – Alex

相關問題