Я пытаюсь интегрировать paypal с моим ruby на приложении rails, используя жемчуг rest-api-sdk-ruby (https://github.com/paypal/rest-api-sdk-ruby), но не смог найти достаточную информацию или хороший учебник, чтобы поддержать меня.
Приведенное выше описание, хотя и содержит необходимый код, не показывает, как обрабатывать методы или в каких файлах должен идти каждый метод.
Может ли кто-нибудь дать мне отправную точку здесь или указать мне хороший учебник?
Я использую рельсы версии 4.
Большое спасибо.
Ответ 3
Я немного опаздываю на вечеринку, но я нашел это в документах PayPal
Платежи PayPal включают эти три шага:
- Укажите платежную информацию для создания платежа.
- Получить одобрение платежа.
- Выполните платеж в учетной записи пользователя PayPal.
1) Задайте значение sale
, а параметр payment_method - paypal
.
Включить URL-адреса переадресации. Пользователь перенаправляется на эти URL-адреса, когда они одобряют или отменяют платеж.
curl https://api.sandbox.paypal.com/v1/payments/payment \
-v \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer accessToken' \
-d '{
"intent":"sale",
"redirect_urls":{
"return_url":"http://return_URL_here",
"cancel_url":"http://cancel_URL_here"
},
"payer":{
"payment_method":"paypal"
},
"transactions":[
{
"amount":{
"total":"7.47",
"currency":"USD"
},
"description":"This is the payment transaction description."
}
]
}
Ответ:
{
"id":"PAY-6RV70583SB702805EKEYSZ6Y",
"create_time":"2013-03-01T22:34:35Z",
"update_time":"2013-03-01T22:34:36Z",
"state":"created",
"intent":"sale",
"payer":{
"payment_method":"paypal"
},
"transactions":[
{
"amount":{
"total":"7.47",
"currency":"USD",
"details":{
"subtotal":"7.47"
}
},
"description":"This is the payment transaction description."
}
],
"links":[
{
"href":"https://api.sandbox.paypal.com/v1/payments/payment/PAY-6RV70583SB702805EKEYSZ6Y",
"rel":"self",
"method":"GET"
},
{
"href":"https://www.sandbox.paypal.com/webscr?cmd=_express-checkout&token=EC-60U79048BN7719609",
"rel":"approval_url",
"method":"REDIRECT"
},
{
"href":"https://api.sandbox.paypal.com/v1/payments/payment/PAY-6RV70583SB702805EKEYSZ6Y/execute",
"rel":"execute",
"method":"POST"
}
]
}
2) Получить одобрение платежа
Обратите внимание на ссылки HATEOAS в приведенном выше примере. Направляйте пользователя на approval_url
на сайт PayPal, чтобы пользователь мог утвердить платеж. Пользователь должен одобрить платеж, прежде чем вы сможете выполнить и завершить продажу.
3) Выполните оплату
Когда пользователь одобряет платеж, PayPal перенаправляет пользователя на указанную return_url
когда платеж был создан. Идентификатор плательщика и идентификатор платежа добавляются к URL-адресу возврата, как PayerID
и paymentId
:
http://return_url?paymentId=PAY-6RV70583SB702805EKEYSZ6Y&token=EC-60U79048BN7719609&PayerID=7E7MGXCWTTKK2
Значение маркера, добавленное к URL-адресу возврата, не требуется при выполнении платежа.
Чтобы выполнить платеж после утверждения пользователем, выполните вызов /payment/execute/
. В теле запроса используйте значение payer_id
, добавленное к URL-адресу возврата. В заголовке используйте токен доступа, который вы использовали при создании платежа.
curl https://api.sandbox.paypal.com/v1/payments/payment/PAY-6RV70583SB702805EKEYSZ6Y/execute/ \
-v \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer accessToken' \
-d '{ "payer_id" : "7E7MGXCWTTKK2" }'
Примечание. Как только платеж будет завершен, он называется продажей. Затем вы можете просмотреть продажу и вернуть ее.
Надеюсь, что это поможет!