首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails ActiveMerchant - Paypal签出错误

Rails ActiveMerchant - Paypal签出错误
EN

Stack Overflow用户
提问于 2012-06-28 18:26:29
回答 1查看 1.4K关注 0票数 1

当我调用这个代码时,我会得到这个错误。

代码语言:javascript
复制
response = EXPRESS_GATEWAY.setup_purchase(order.price_in_cents,
  :ip                => request.remote_ip,
  :return_url        => url_for(:action => :create, :only_path => false),
  :cancel_return_url => root_path
)

redirect_to EXPRESS_GATEWAY.redirect_url_for(response.token)

错误:

代码语言:javascript
复制
This transaction is invalid. Please return to the recipient's website to complete your transaction using their regular checkout flow.

为了显示我正确地设置了EXPRESS_GATEWAY。代码development.rb文件。

代码语言:javascript
复制
config.after_initialize do
  ActiveMerchant::Billing::Base.mode = :test
  paypal_options = {
    :login => '*****************************',
    :password => '*************',
    :signature => '*******************************************************'
  }
  ::EXPRESS_GATEWAY = ActiveMerchant::Billing::PaypalExpressGateway.new(paypal_options)
end

创业板文件

代码语言:javascript
复制
gem 'activemerchant', :require => 'active_merchant'

所以登录密码和sig。是在paypal的沙箱中创建的。所以他们应该在工作。

我该怎么做才能修复这个错误呢?还是贝宝的一方?ActiveMerchant宝石有什么问题吗?

更新1

在检查了响应var之后,我得到的就是这个。

代码语言:javascript
复制
#<ActiveMerchant::Billing::PaypalExpressResponse:0x00000102402790 @params={"timestamp"=>"2012-06-29T01:30:18Z", "ack"=>"Failure", "correlation_id"=>"d1cb5dbb30425", "version"=>"72", "build"=>"3067390", "message"=>"CancelURL is invalid.", "error_codes"=>"10472", "Timestamp"=>"2012-06-29T01:30:18Z", "Ack"=>"Failure", "CorrelationID"=>"d1cb5dbb30425", "Errors"=>{"ShortMessage"=>"Transaction refused because of an invalid argument. See additional error messages for details.", "LongMessage"=>"CancelURL is invalid.", "ErrorCode"=>"10472", "SeverityCode"=>"Error"}, "Version"=>"72", "Build"=>"3067390"}, @message="CancelURL is invalid.", @success=false, @test=true, @authorization=nil, @fraud_review=false, @avs_result={"code"=>nil, "message"=>nil, "street_match"=>nil, "postal_match"=>nil}, @cvv_result={"code"=>nil, "message"=>nil}>

如有任何反馈,将不胜感激。

UDPATE 2

在查看了上面的消息之后,发现cancelURL是无效的,所以我修复了它并进行了预告!

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-06-28 19:57:47

当您没有正确登录到paypal站点上的沙箱帐户时,会显示此错误。

  1. 登录到http://sandbox.paypal.com/
  2. 打开您的站点并结帐
  3. 当发送到paypal时,以买方测试帐户的身份登录
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11250738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档