Paypal Адаптивные платежи? - PullRequest
2 голосов
/ 30 августа 2011

Я использую PayPal Adaptive Payments в приложении rails 3. Мне интересно, является ли это лучшим подходом или есть ли лучший способ использовать адаптивные платежи PayPal?

=> Установить последнюю версию плагина Active merchant

https://github.com/sijokg/active_merchant(https://github.com/sijokg/active_merchant.git) 

=> Создать объект для адаптивного шлюза PayPal

    gateway = ActiveMerchant::Billing::PaypalAdaptivePaymentGateway.new( :login =>        "divya_xxxxxx_biz_api1.yahoo.com",:password => "XXXXXXXX", :signature => "XXXXXXXXXXXXXXXXXXXX",:appl_id => "APP-80W284485P519543T" ) 



   ss= gateway.pay params[:donor][:amount].to_i , 'foobar@yahoo.com', :ip => request.remote_ip,   
     :sender_email => "foobar@yahoo.com",
     :tracking_id => tracking_id,
     :pay_key => '24',
     :return_url =>"http://myapp.heroku.com,                                              :cancel_url=>                

"http://foofoo.heroku.com, : ipn_notification_url => "http://foofoo.heroku.com/paypal_ipn"

=> Возвращает ключ оплаты, используя этот ключ, который я перенаправляю на URL ниже, основанный на requiremnet

    redirect_to "https://www.sandbox.paypal.com/webscr?cmd=_ap-payment&paykey=#{ ss.params['pay_key']}" 
    redirect_to "https://www.paypal.com/webscr?cmd=_ap-payment&paykey=#{ ss.params['pay_key']}"  

=> Переходит на сайт PayPal и совершает транзакцию с помощью электронной почты или карты Visa и возвращает.

=> Если я использую учетную запись песочницы, необходимо войти в учетную запись песочницы

=> Он отправляет «Paypal Ipn» на мой сайт.

=> Сделка завершена.

* Этот процесс занимает много времени, потому что это двухэтапный процесс. Если это не правильно, pelase предложит любое альтернативное решение с адаптивными платежами PayPal.

1 Ответ

1 голос
/ 15 мая 2012

Я использую https://github.com/tc/paypal_adaptive, и он отлично работает для меня.Да, это двухэтапный процесс.Вам нужно получить PayKey от PayPal, затем либо 1) перенаправить пользователя, либо 2) выбросить поток лайтбокса с помощью PAYPAL.apps.DGFlow, указанного здесь: https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_APCommands

...