ActiveMerchant PayPal Express возможная ошибка? - PullRequest
0 голосов
/ 23 февраля 2012

Я немного растерялся, каким-то образом я могу изменить сумму покупки:

Сначала я настраиваю свою покупку,

@setup_response = gateway.setup_purchase(
  10*100,
  :ip                => request.remote_ip,
  :return_url        => url_for(:controller => "payments", :action => 'confirm', :only_path => false),
  :cancel_return_url => url_for(:controller => "payments", :action => 'error', :only_path => false),
  :currency => 'EUR',
  :email => current_user.email,
  :no_shipping => true,
  :items => items
)

Позже я делаю покупку:

  purchase = gateway.purchase(
      500*100,
      :ip       => request.remote_ip,
      :payer_id => params[:payer_id],
      :token    => params[:token],
      :currency => 'EUR'
      )

Как видите, я изменил сумму с 10 -> настройка / пользователь согласился на 1000 при покупке, и это сработало в песочнице Paypal.

Я думаю, что это действительно странно,Кто-нибудь может это подтвердить?Это не должно произойти?Возможно ли это только в Песочнице?

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

Уверен, что Paypal Express Checkout не требует, чтобы сумма в DoExpressCheckoutPayment (то, на что указывает setup_purchase) была бы такой же, как в SetExpressCheckout.Цитируя документацию Paypal :

В простейшем случае вы устанавливаете общую сумму заказа при вызове API SetExpressCheckout.Однако вы можете изменить сумму до вызова API DoExpressCheckoutPayment, если вы не знали общую сумму при вызове API SetExpressCheckout.

0 голосов
/ 29 февраля 2012

Вам предоставляется некоторая разница между настройкой и покупкой - это позволяет людям менять свой заказ, скидки и т. Д.

Не рискуйте выставлять счета людям больше, чем вы четко заявляете - Paypal очень быстро возвращает деньги, поэтому вы в конечном итоге проиграете.

...