it-swarm.com.ru

Как интегрировать Paypal с Ruby на Rails

Я пытаюсь интегрировать Paypal с моим приложением Ruby on Rails, используя гем rest-api-sdk-Ruby ( https://github.com/Paypal/rest- api-sdk-Ruby ), но не смог найти достаточно информации или хорошего учебника, чтобы поддержать меня. Приведенное выше описание, хотя и предоставляет необходимый код, не показывает, как обрабатывать методы или в каких файлах должен идти каждый метод.

Может ли кто-нибудь дать мне здесь отправную точку или указать хороший учебник?

Я использую Rails версия 4.

Большое спасибо.

18
user3462261

Стандартная интеграция Paypal с Rails-приложением Active Merchant gem

Шаг 1

  • Добавьте gem 'activemerchant' в ваш Gemfile

  • Запустите bundle install

Шаг 2

  • Перейдите на страницу " developer.Paypal.com " и создайте учетную запись (также известную как Merchant Account) с адресами в США.

    В «sandbox.Paypal.com» будет создано два фиктивных тестовых аккаунта, по одному для покупателя и продавца (например, координатор). Чтобы просмотреть подробности тестовых аккаунтов, нажмите «Панель инструментов -> Аккаунты».

  • Теперь установите пароль для обеих тестовых учетных записей, нажав на ссылку профиля.

Шаг 3

  • Перейдите к деталям профиля учетной записи продавца (например, посредника) и скопируйте учетные данные API, т. Е. Имя пользователя, пароль и подпись. Например:

    Username:  naveengoud-facilitator_api1.gamil.com
    Password:  VSPALJ5ALA5YY9YJ
    Signature: AVLslxW5UGzEpaDPEK4Oril7Xo4IAYjdWHD25HhS8a8kqPYO4FjFhd6A
    
  • Установите эти учетные данные API в «config/environment/development.rb» следующим образом:

    config.after_initialize do
      ActiveMerchant::Billing::Base.mode = :test
      ::GATEWAY = ActiveMerchant::Billing::PaypalGateway.new(
        login: "merchant_api1.gotealeaf.com",
        password: "2PWPEUKZXAYE7ZHR",
        signature: "AFcWxV21C7fd0v3bYYYRCpSSRl31A-dRI5VpyF4A9emruhNYzlM8poc0"
      )
    end
    

Шаг 4

20
Naveen Thonpunoori

Подробно пошаговая процедура приведена здесь

Интеграция Paypal в ваше Rails-приложение с базовым методом Checkout:
Базовая проверка

Если вы хотите принимать кредитные карты для ваших платежей:
Платные кредитные карты

Если вы хотите принимать регулярные платежи:
Регулярные платежи

Вы можете клонировать это приложение и протестировать на своей локальной машине

git clone https://github.com/gotealeaf/Paypal-basics
cd Paypal-basics
rake db:create
rake db:migrate
rake db:seed
Rails s
1
Chetan Datta

Я немного опоздал на вечеринку, но я нашел это в документах Paypal

Paypal платежи включают в себя эти 3 шага:

  • Укажите информацию о платеже для создания платежа.
  • Получите подтверждение оплаты.
  • Выполните платеж на счет пользователя 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" }'

Примечание. После завершения платежа он называется продажей. Затем вы можете посмотреть продажи и вернуть деньги.

Надеюсь, поможет!

0
Stef Hej