2011-12-17 10 views
5

Stavo cercando di implementare il gateway di pagamento paypal.Errore PayPal: questa transazione non è valida. Si prega di tornare al sito web del destinatario per completare la transazione utilizzando il loro flusso di pagamento regolare

Ma sto ottenendo un errore:

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

In Gem File

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

In 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 

codice di esempio sto utilizzando in m y controllore

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 di risposta:

#<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 per response.token

nil 

Così che il problema è response.token è nullo

qualche suggerimento perché questo sta accadendo?

risposta

11

Probabilmente la prima cosa che hai controllato, ma sono login, password e firma quelli per l'utente sandbox e non il tuo login alla sandbox. È necessario accedere all'account utente sandboxed e ottenere la firma da lì.

Pertanto, quando si accede a sandbox.paypal.com e poi si passa a Test Account, selezionare quello desiderato per i dettagli e premere Enter Sandbox Test Site. Nella nuova finestra inserisci i dettagli per l'utente falso (l'e-mail dovrebbe essere precompilata). Una volta effettuato l'accesso, accedere a Profilo -> Accesso API e richiedere o visualizzare la firma dell'API.

Scusa se hai già provato questo, ma io non potrebbe postare un commento a chiedere;)

+0

I got it .. e ha funzionato .. grazie un tizio molto .. u salvato la grande asino tempo. .. love u soo much .. Premiato il bounty .. votare up .. ha accolto la risposta .. ora puoi commentare .. votare up .. votare down .. e molto altro .. thnks very dude .. –

+1

Awsome, sono contento di poterti aiutare e i punti sono benvenuti, quindi sono più coinvolto. Saluti. – slarti42uk

Problemi correlati