PayPal express / Active Merchant - не отображаются позиции или сумма в корзине? - PullRequest
6 голосов
/ 13 февраля 2012

Я пытаюсь настроить экспресс-оплату PayPal с помощью активного продавца, но у меня возникают проблемы. Я следовал учебному пособию, и я могу перейти к форме «выбрать способ оплаты» на PayPal, но там не отображаются ни товары, ни цены.

Вот скриншот. http://i39.tinypic.com/35mircz.png

Почему не отображается цена или какие-либо предметы, даже если я передаю их? Вот код, который я использую для setup_purchase.

@product = Product.find(params[:product_id])

setup_response = gateway.setup_purchase(200,
  :ip                => request.remote_ip,
  :items => [{:name => "Tickets", :quantity => 22, :description => "Tickets for 232323", :amount => 10}],
  :return_url        => url_for(:action => 'confirm', :only_path => false),
  :cancel_return_url => url_for(:action => 'index', :only_path => false)
)

redirect_to gateway.redirect_url_for(setup_response.token)

Любая помощь будет принята с благодарностью. Alex

Ответы [ 2 ]

8 голосов
/ 18 февраля 2012

Ваша проблема связана с вашими количествами и ценами - если вы выводите setup_response после того, как он выполняет вызов с чем-то вроде

logger.debug setup_response

И, проверив журнал, вы увидите, что, возможно, он жалуется, что цена впредметы не соответствуют сумме, которую вы передаете (первое значение).

В данный момент у вас есть количество 22, при этом каждая «сумма» равна 10. 10 * 22 = 220, и, поскольку вы вводите только 200 в первое значение, вы ошибаетесь.сопоставляя их.Исправьте это, и вам будет хорошо идти.

1 голос
/ 24 декабря 2012

Я столкнулся с той же проблемой и, наконец, нашел причину, и это невероятно глупо.Вы готовы?

Несоответствие между общей указанной вами ценой (200) и суммой ваших товаров (22 * 10 = 220).Если вы измените количество на 20, оно будет работать.Paypal требует, чтобы сумма стоимости ваших товаров равнялась общей цене, которую вы указали.Понятия не имею, как я это понял.

...