2012-12-18 11 views
5

Rails 3.0.10 e gemma activemerchant 1.29.3Debug di ActiveMerchant; bisogno di piena richiesta e risposta. Come?

mia app funziona bene in sandbox, ma le operazioni in modalità di produzione non riescono con "intestazione di protezione non è valido", "ErrorCode" => "10002"

Abbiamo avviato una richiesta di assistenza con paypal, dopo aver esaminato tutti i parametri di configurazione un milione di volte e sentiamo che stiamo raggiungendo un endpoint errato. Hanno chiesto una traccia completa per la transazione, comprese le intestazioni, ecc., Quindi sto cercando di capire come farlo. Ho trovato this article

che ha suggerito di aggiungere questo al blocco config

ActiveMerchant::Billing::PaypalGateway.wiredump_device = File.new(File.join([Rails.root, "log", "paypal.log"]), "a") 

ma che semplicemente si traduce in un log vuoto; niente viene scaricato.

Quindi, come posso ottenere queste informazioni dall'oggetto GATEWAY, se possibile? Ecco la configurazione di produzione, il cui formato è identico a quello utilizzato nell'env di staging.

::GATEWAY = ActiveMerchant::Billing::PaypalGateway(
     :login => 'me_api1.blah...', 
     :password => 'string...', 
     :signature => 'longer string...' 
    ) 

Grazie.

risposta

5

necessaria per aggiungere la riga aggiuntiva nel modo seguente:

ActiveMerchant::Billing::PaypalGateway.wiredump_device.sync = true 

Entro lo stesso blocco di configurazione in ambiente

non
-3

Da qualche parte nella libreria di classi si sta utilizzando non ci dovrebbe essere una funzione di uscita di questo per voi (se si tratta di una biblioteca ben costruito, che è.)

Anche senza che, però, si dovrebbe essere in grado di guarda in quella funzione di PaypalGateway per vedere dove/come sta impostando l'endpoint. È un hard-coding del valore o sarà l'impostazione di diversi endpoint in base a qualche opzione sandbox che hai configurato da qualche altra parte nella classe.

È difficile dirti di più senza dare un'occhiata all'effettiva libreria di classi che stai usando, ma posso convenire che si tratti di credenziali non corrette o di un endpoint errato. Non ho mai visto quell'errore di intestazione di sicurezza quando non erano semplicemente credenziali non valide, il che significa che i tuoi valori non sono corretti o stai colpendo l'endpoint sbagliato.

Se si desidera postare l'intera funzione (o forse anche l'intera libreria poiché l'endpoint potrebbe essere impostato da un'altra funzione), posso dare un'occhiata e trovare il problema per voi.

+0

davvero una risposta alla domanda, è vero? Sono d'accordo, ci dovrebbe essere un modo per farlo uscire. Questa è l'essenza della mia domanda ... – wkhatch

+0

Sì, è una risposta alla domanda quando non si fornisce la classe reale a cui guardare. Mostrandoci l'utilizzo di una funzione non funziona affatto. Se vuoi fornire che sarei felice di trovare la risposta per te. Apprezzo il neg per aver cercato di aiutare, però. Lo terrò a mente la prossima volta che ti vedo a fare una domanda con cui posso aiutarti. –

+1

Questo: ActiveMerchant :: Billing :: PaypalGateway fa parte di una libreria di terze parti ... la gemma activemerchant, in ruby. Se lo sai, aggiorna la risposta, con una risposta vera. Altrimenti, il voto negativo è valido. Grazie – wkhatch

Problemi correlati