Авторизация preapproved_payment_key с помощью гема active_paypal_adaptive_payment

Чувак, я рву на себе волосы из-за этого. Документация Paypal очень сложна и неполна, а поддержка Adaptive Payments на Ruby практически отсутствует.

В любом случае, я создаю веб-приложение, из которого я хочу иметь возможность настраивать предварительно утвержденные платежи с помощью адаптивных платежей PayPal. У меня работает гем active_paypal_adaptive_payment, но нет документации по процессу перехода от предварительного одобрения к захват платежей.

Я могу использовать метод preapprove_payment драгоценного камня, чтобы получить ключ предварительного одобрения от PayPal:

response = ADAPTIVE_GATEWAY.preapprove_payment ({
  :return_url => admin_preapproved_payments_url,
  :cancel_url => admin_preapproved_payments_url,
  :senderEmail => @payment.sender_email,
  :start_date => @payment.start_date,
  :end_date => @payment.end_date,
  :currency_code =>"USD",
  :max_amount => @payment.max_amount.to_s,
  :maxNumberOfPayments => @payment.max_number_of_payments.to_s
  })
  puts response.preapproval_key

Но отправитель должен авторизовать ключ предварительного утверждения, прежде чем я смогу использовать его для снятия средств с его счета.

введите здесь описание изображения

Куда перенаправить отправителя, чтобы он мог авторизовать ключ предварительного утверждения? Я не хочу получать средства немедленно — мне просто нужно их одобрение, чтобы я мог сделать это в будущем.


person CharlieMezak    schedule 20.03.2012    source источник


Ответы (2)


Я бы посоветовал попробовать ActiveMerchant с PayPal

person wael34218    schedule 20.03.2012

Метод redirect_pre_approval_url_for(token) — то, что вам нужно, он возвращает URL-адрес, на который вы должны (ну, очевидно) перенаправить пользователя, чтобы авторизовать предварительно одобренный платеж.

redirect_pre_approval_url_for(токен)

Итак, в приложении rails все должно выглядеть так:

redirect_to ADAPTIVE_GATEWAY.redirect_pre_approval_url_for(response.preapproval_key)
person froysm    schedule 31.07.2012