2015-01-07 3 views
2

У меня есть следующий код, который позволяет мне сделать оплату полосы из CLI.Stripe Payment CURL issue

curl -u stripe-secret-key-here: -d amount=100 -d currency=gbp -d 
'card[number]=4242424242424242' -d 'card[exp_month]=5' -d 'card[exp_year]=2015' 
https://api.stripe.com/v1/charges 

Однако, если я попытаюсь использовать следующее из плана набора URL/Asterisk, то я получаю ниже данной ошибки.

https://stripe-secret-key-here:@api.stripe.com/v1/charges?amount=100& 
currency=gbp&card[number]=4242424242424242&card[exp_month]=5&card[exp_year]=2015 

Ошибка:

{ 
"error": { 
"type": "invalid_request_error", 
"message": "Received unknown parameter: card", 
"param": "card" 
} 
} 

бы признателен немного помочь ... Спасибо.

+0

Try "" вокруг URL. –

+0

привет, он дает ту же ошибку .... https: // stripe-secret-key-here: @ api.stripe.com/v1/charges? Amount = 100 & currency = gbp & "card [number] = 4242424242424242" & "card [exp_month] = 5 "и" карта [exp_year] = 2015" – user3761509

ответ

2

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

Причина, по которой запрос не срабатывает при использовании формы URL, заключается в том, что это будет запрос GET.

Stripe API documentation примечания ясно, что charge creation requests являются POST-запросами.

При использовании curl с опцией -d запрос отправляется как POST. Из cURL manual:

POST (HTTP)

It's easy to post data using curl. This is done using the -d <data> option. The post data must be urlencoded.

Так что причина, вы получите «неизвестный параметр: карта» ошибка, потому что https://api.stripe.com/v1/charges конечная точка ожидает только два различных типа запросов GET: charge retrieval и list charges, ни один из которых ожидать параметр card.

Более подробная информация о GET против POST:

0

Вам нужно будет генерировать маркер полосы карты с помощью card Params вы пытаетесь передать вместо передачи параметров карты.

Пример:

curl https://api.stripe.com/v1/charges \ 
    -u YOUR_SECRET_KEY: \ 
    -d amount=2000 \ 
    -d currency=usd \ 
    -d source=tok_visa \ 
    -d description="Charge for [email protected]"