2011-12-17 14 views
5

Estaba tratando de implementar la pasarela de pago de PayPal.Error de PayPal: esta transacción no es válida. Regrese al sitio web del destinatario para completar su transacción utilizando su flujo de pago normal

Pero estoy consiguiendo un error:

This transaction is invalid. Please return to the recipient's website to complete your transaction using their regular checkout flow. 

En Gem Archivo

gem 'activemerchant', :require => 'active_merchant' 

En development.rb

config.after_initialize do 
    ActiveMerchant::Billing::Base.mode = :test 
    paypal_options = { 
     :login => "************", 
     :password => "************", 
     :signature => "************", 
    } 
    ::STANDARD_GATEWAY = ActiveMerchant::Billing::PaypalGateway.new(paypal_options) 
    ::EXPRESS_GATEWAY = ActiveMerchant::Billing::PaypalExpressGateway.new(paypal_options) 
    end 

Código de ejemplo que estoy utilizando en metro y controlador de

response = EXPRESS_GATEWAY.setup_purchase(10000, 
    :ip    => request.remote_ip, 
    :return_url  => new_order_url, 
    :cancel_return_url => orders_url 
) 
    p response 
    p response.token 
    redirect_to EXPRESS_GATEWAY.redirect_url_for(response.token) 

O/P para la respuesta:

#<ActiveMerchant::Billing::PaypalExpressResponse:0x007f90bbababa0 @params={"timestamp"=>"2011-12-17T21:41:21Z", "ack"=>"Failure", "correlation_id"=>"c152e1862f475", "version"=>"62.0", "build"=>"2271164", "message"=>"Security header is not valid", "error_codes"=>"10002", "Timestamp"=>"2011-12-17T21:41:21Z", "Ack"=>"Failure", "CorrelationID"=>"c152e1862f475", "Errors"=>{"ShortMessage"=>"Security error", "LongMessage"=>"Security header is not valid", "ErrorCode"=>"10002", "SeverityCode"=>"Error"}, "Version"=>"62.0", "Build"=>"2271164"}, @message="Security header is not valid", @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}> 

O/P para response.token

nil 

Así que creo que el problema es response.token es nula

alguna sugerencia de por qué esto está sucediendo?

Respuesta

11

Probablemente lo primero que verificó, pero son el inicio de sesión, la contraseña y la firma de los usuarios de la zona de pruebas y no su propio inicio de sesión en la zona de pruebas. Debe iniciar sesión en la cuenta de usuarios de espacio aislado y obtener la firma desde allí.

Así que cuando inicie sesión en sandbox.paypal.com y luego vaya a Probar cuentas, seleccione la que desea los detalles y presione Enter Sandbox Test Site. En la nueva ventana ingrese los detalles para el usuario falso (el correo electrónico debe estar previamente rellenado). Una vez que haya iniciado sesión, vaya a Perfil -> Acceso API y solicite o vea la firma de la API.

sentimos si ya ha intentado esto pero no puede publicar un comentario para preguntar;)

+0

lo tengo .. y funcionó .. gracias a un tipo mucho .. u salvaron mi gran culo tiempo. .. te amo mucho ... Recibí la recompensa ... voto arriba ... acepté la respuesta ... ahora puedes comentar ... votar ... votar a la baja ... y mucho más ... muchas cosas tío ... –

+1

Impresionante, me alegro de poder ayudar y los puntos son bienvenidos, así que me involucro más. Aclamaciones. – slarti42uk

Cuestiones relacionadas