2017-01-24 7 views
1

Ich erstelle eine Rails-App mit Stripe. Ich kann nur die standalone accounts verwenden, da in Frankreich keine verwalteten Konten verfügbar sind. Ich benutze shared customers, weil Leute, die mit meiner App Geld verdienen, ihre Kunden teilen.Stripe Token wird nicht im Stripe-Server erstellt

Create Card Token doc

Natürlich Was ich Ihnen zeigen, verwendet meine Teststreifen Umgebung.

Um einen Kunden zu einem Benutzer zu laden, erstelle ich ein Token:

tok = Stripe::Token.create(
    {:customer => customer.id, :card => customer.cards.last.stripe_id}, 
    {:stripe_account => user.stripe_user_id} 
) 
=> #<Stripe::Token:0x3fd9c3830900 id=tok_19fYblIUbyeToO5BfgwmLR9Y> JSON: { 
    "id": "tok_19fYblIUbyeToO5BfgwmLR9Y", 
    "object": "token", 
    "card":  {"id":"card_19fYblIUbyeToO5BwRTTlJ1x","object":"card","address_city":null,"address_country":null,"address_line1":null,"address_line1_check":null,"address_line2":null,"address_state":null,"address_zip":null,"address_zip_check":null,"brand":"Visa","country":"US","cvc_check":"pass","dynamic_last4":null,"exp_month":12,"exp_year":2020,"fingerprint":"xxsPLKbXK7swE7It","funding":"credit","last4":"4242","metadata":{},"name":null,"tokenization_method":null}, 
    "client_ip": "31.33.230.61", 
    "created": 1485280889, 
    "livemode": false, 
    "type": "card", 
    "used": false 
} 

Danach mag ich, dass Token mit dem Kunden berechnen, aber leider ist das Token nicht auf Streifen-Server vorhanden ist:

Wenn ich versuche, den Kunden zu belasten oder den Token als Kundenquelle zu speichern, gibt es mir den gleichen Fehler. Ich habe versucht, eine Grundgebühr zu schaffen, um zu sehen, ob es ein Fehler von einem größeren Maßstab ist:

tok = Stripe::Token.create(
    :card => { 
    :number => "4242424242424242", 
    :exp_month => 1, 
    :exp_year => 2018, 
    :cvc => "314" 
    }, 
) 
=> #<Stripe::Token:0x3fd9c71b002c id=tok_19fYWGLTk1qRIoGhSApzxo8u> JSON: { 
    "id": "tok_19fYWGLTk1qRIoGhSApzxo8u", 
    "object": "token", 
    "card": {"id":"card_19fYWGLTk1qRIoGhBpLf7sFp","object":"card","address_city":null,"address_country":null,"address_line1":null,"address_line1_check":null,"address_line2":null,"address_state":null,"address_zip":null,"address_zip_check":null,"brand":"Visa","country":"US","cvc_check":"unchecked","dynamic_last4":null,"exp_month":1,"exp_year":2018,"fingerprint":"D6Dfg1vPHxjxX2XI","funding":"credit","last4":"4242","metadata":{},"name":null,"tokenization_method":null}, 
    "client_ip": "31.33.230.61", 
    "created": 1485280548, 
    "livemode": false, 
    "type": "card", 
    "used": false 
} 

aber dann das Token abzurufen Ich bin in der Lage:

Stripe::Token.retrieve(tok.id) 
=> #<Stripe::Token:0x3fd9c2726b3c id=tok_19fYWGLTk1qRIoGhSApzxo8u> JSON: { 
    "id": "tok_19fYWGLTk1qRIoGhSApzxo8u", 
    "object": "token", 
    "card": {"id":"card_19fYWGLTk1qRIoGhBpLf7sFp","object":"card","address_city":null,"address_country":null,"address_line1":null,"address_line1_check":null,"address_line2":null,"address_state":null,"address_zip":null,"address_zip_check":null,"brand":"Visa","country":"US","cvc_check":"unchecked","dynamic_last4":null,"exp_month":1,"exp_year":2018,"fingerprint":"D6Dfg1vPHxjxX2XI","funding":"credit","last4":"4242","metadata":{},"name":null,"tokenization_method":null}, 
    "client_ip": "31.33.230.61", 
    "created": 1485280548, 
    "livemode": false, 
    "type": "card", 
    "used": false 
} 

es einfach nicht Arbeit, wenn ich einen Kunden als Parameter passiere, warum? Ich weiß es nicht, seit ich es getan habe, weil die Dokumentation es mir gesagt hat.

Antwort

3

Das Token wurde mit dem Header Stripe-Account erstellt, sodass das resultierende Tokenobjekt auf dem Zielkonto vorhanden ist.

Also um retrieve the token oder verwenden Sie es in einer API-Anfrage, muss die Anfrage auch die Stripe-Account-Header mit der gleichen Konto-ID verwenden.

+1

Du bist der Beste !! : D Danke !!! – Charlon

+0

Sie sind herzlich willkommen :) – Ywain

Verwandte Themen