2017-02-01 7 views
0

У меня возникли проблемы с взиманием платы с моих клиентов за заказ в API заказов Stripe. Проблема была в том, что я не могу найти информацию в API docs о том, как взимать заказ с уже существующего клиента. Все, что я могу найти, это то, что для оплаты клиента на основе токена вы можете использовать следующий код. order.pay(:source => token)Как заряжать клиента, а не использовать команды Stripe API

Я создаю свои заказы следующим образом, как объясняется документами API.

Stripe.api_key = "sk_your_secret_key" 

order = Stripe::Order.create(
    :currency => 'usd', 
    :email => '[email protected]', 
    :items => [ 
    { 
     :type => 'sku', 
     :parent => 'sku_9wSEbSepjclY6l', 
     :quantity => 2, 
    } 
    ], 
    :shipping => { 
    :name => 'Jenny Rosen', 
    :address => { 
     :line1 => '1234 Main Street', 
     :city => 'Anytown', 
     :country => 'US', 
     :postal_code => '123456' 
    } 
    }, 
) 

Я ранее создал своих клиентов из токена API StipeJS.

token = params[:stripeToken] 

customer = Stripe::Customer.create(
    :email => "[email protected]", 
    :source => token, 
) 

теперь я хочу, чтобы использовать клиенты нашивки идентификатор, чтобы создать заряд на порядок, но я не могу найти, как я это сделать где-либо в API документации.


Update

В проб и ошибок попытки я попытался передавая идентификатор клиента в платежной функции, как так order.pay(:source => customer_id). Это вызвало следующую ошибку. (Status 400) no such token: cus_id_string.

ответ

0

Мне удалось выяснить, как это делается путем проб и ошибок. Я, наконец, попытался заплатить за заказ, нажав на хеш. orders.pay(:customer => customer_id).

Это действительно сработало для меня, хотя я не вижу, чтобы он где-либо документировал. Надеюсь, это вам тоже поможет.

+0

Параметр 'customer' указан в ссылке API: https://stripe.com/docs/api#create_order-customer – Ywain

+0

Спасибо за информацию, которую я также нашел здесь, когда я знал, что искал. (Https://stripe.com/docs/api#pay_order) –