PayPal Express / Active Merchant - не отображаются позиции или общая сумма корзины?

Я пытаюсь настроить экспресс-оплату 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)

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


person Alex Fox    schedule 13.02.2012    source источник
comment
Пожалуйста, могу я спросить, какой учебник вы следуете? Я иду к этому вслепую до сих пор, и это оказывается трудным!   -  person Adam Waite    schedule 03.07.2013


Ответы (2)


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

logger.debug setup_response

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

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

person Wakeuphate    schedule 17.02.2012
comment
Нет проблем, я сам столкнулся с этой проблемой день или два назад, и это почти сводило меня с ума, пока я не обнаружил, что могу отладить ответ, чтобы увидеть, что я делаю неправильно :) - person Wakeuphate; 20.02.2012
comment
Привет. Я все еще пытаюсь решить эту проблему. Я сделал то, что вы сказали, но все еще не отображает элементы. Отладчик только что выдал мне #‹ActiveMerchant::Billing::PaypalExpressResponse:0x105688e80› ?? - person Alex Fox; 05.03.2012
comment
Я не уверен, что это будет работать правильно, но, возможно, стоит попробовать - вместо logger.debug setup_response попробуйте logger.debug "The object is #{setup_response.to_yaml}" это может распечатать его немного приятнее для чтения. Отладка пока не моя сильная сторона в рельсах :) - person Wakeuphate; 07.03.2012
comment
это просто дает мне .. авторизация: avs_result: код: postal_match: street_match: сообщение: cvv_result: код: сообщение: мошенничество_обзор: ложное сообщение: Параметры успеха: метка времени: 2012-03-09T20:01:35Z корреляция_ид: 831a04c53e7f5 токен: EC- 2EG03962TU397403R сборка: 2649250 версия: 59.0 ack: Success Success: true test: true - person Alex Fox; 10.03.2012

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

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

person lior    schedule 24.12.2012
comment
ой, ну надо будет попробовать! - person Alex Fox; 28.12.2012