ActiveMerchant: come autorizzare le carte quando si utilizzano gateway che non supportano l'operazione nulla?
-
19-08-2019 - |
Domanda
Sto lavorando sul componente di fatturazione di un'applicazione Ruby on Rails usando ActiveMerchant. Il gateway di pagamento che abbiamo scelto è PaymentExpress .
Esempi di codice che vedo come quello qui sotto, usa autorize ()
e void ()
per testare la validità di una carta:
def test_card!
auth_response = gateway.authorize(100, card)
gateway.void(auth_response.authorization) if auth_response.success?
raise AuthorizationFailed.new(auth_response) unless auth_response.success?
end
Tuttavia, PaymentExpress non supporta l'azione nulla. Esiste un modo alternativo per eseguire questa azione di autorizzazione o è OK escludere l'azione nulla, considerando che gateway come PaymentExpress scadono la richiesta di autorizzazione dopo 7 giorni?
Non trovo alcuna menzione di void
nell'autorizzazione nella documentazione o in Google, né posso trovare alcuna indicazione di quanto sia importante.
Qualche aiuto?
Soluzione 2
Si scopre che almeno con PaymentExpress eseguono automaticamente un'azione di autorizzazione come parte del processo di archiviazione delle carte. Se l'autorizzazione fallisce, semplicemente non memorizzerà la carta, restituendo " CARTA NON VALIDA " anziché. Questo è visibile nella loro app web per la ricerca delle transazioni: quando si memorizzano le carte, $ 1,00 sono autorizzati sulla carta e invalidati automaticamente una settimana dopo.
Altri suggerimenti
Alcuni processori di carte contrassegneranno una transazione come questa come una potenziale frode. A loro non piace vedere piccole transazioni di test seguite da transazioni più grandi. American Express in particolare è alquanto aggressiva in questo senso in quanto tenderanno a rifiutare la transazione quando torni indietro e provi l'importo reale.
Se prevedi di addebitare a un cliente l'importo x
, devi autorizzarlo per l'importo x
per convalidare la carta. Quindi è possibile utilizzare l'autorizzazione precedente ed eseguire un'acquisizione o un post forzato per finalizzare l'addebito. In questo modo, il cliente vedrà sempre e solo la giusta quantità in sospeso & amp; deciso sulla loro dichiarazione.