it-swarm-eu.dev

Come modificare le risposte di autorize.net virtuemart 1.1.9?

So che Virtuemart 1.1.9 non è più supportato, ma ho molte personalizzazioni sul mio sito Web Joomla online installato. non riesco a spostarlo "nelle ultime versioni di joomla e VM.

Si prega di leggere lo scenario .. Ho joomla 1.5 con virtuemart 1.1.9- Ogni volta che un utente elabora il pagamento con carta di credito tramite authorize.net, dopo aver completato il processo l'utente vede un messaggio di "grazie, il tuo ordine è stato completato ... indipendentemente dalla risposta alla transazione che non è riuscita o è riuscita.

My Need is .. Voglio che un'e-mail venga inviata al mio indirizzo e-mail quando una transazione non riesce. Non riesco a controllare le dichiarazioni di authorize.net sul mio cellulare.

What I Question is ... come posso inviare e-mail a me stesso e quali file e funzioni stanno funzionando per controllare le risposte dal server authorize.net.

Per favore fatemi sapere Se questa domanda è confusa ... Cercherò di elaborarla più facilmente comprensibile.

1
MFarooqi

Dopo molti sforzi ho finalmente raggiunto quelle pagine che contengono tutti i dettagli della transazione.

durante l'utilizzo di Authorize.net, la richiesta di transazione viene inviata in formato Json/XML al server authorize.net e dopo l'elaborazione viene restituita una risposta nello stesso formato XML/Json. La pagina seguente funziona per questo riguardo

joomlasite/administrator/components/com_virtuemart/classes/pagamento/ps_authorize.php

Ora in questa ricerca di file process_payment funzione,

process_payment

Questa è la funzione principale per tutti i moduli di pagamento che utilizzano connessioni dirette a un gateway di pagamento (come authorize.net o eWay XML). Questo è il luogo in cui i dettagli del pagamento vengono convalidati e acquisiti in caso di successo. Restituisce vero in caso di successo, falso in caso di fallimento.

E questo è ciò che ho personalizzato in base alla risposta del gateway di pagamento.

Ho fatto eco a tutta la risposta e quindi in base allo stato 1,3,4 o qualsiasi ho creato uno script di posta elettronica php per inviare un'e-mail all'indirizzo e-mail specificato

eco temporaneamente la risposta dal server

$vmLogger->err('result: '. $result);

Mostrerà tutte le risposte come errore dopo la transazione.

$Message = 
'**Notification:**A Transaction was attempt. Authorize.net responded 
   **'.$response[3].'**. 
Details are as under:


========= ORDER INFORMATION =========
Invoice : '.$response[36].'
Amount : '.$order_total.'

============== RESULTS ==============
Response : '.$response[3].'
Authorization Code : '.$response[4].'
Transaction ID : '.$response[6].'

==== CUSTOMER BILLING INFORMATION ===
First Name : '. substr($dbst->f("first_name"), 0, 50).'
Last Name : '. substr($dbst->f("last_name"), 0, 50).'
E-Mail : '.$dbbt->f("user_email");

 $cc_headers = "MIME-Version: 1.0" . "\r\n";
 $cc_headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
 //this address will show as "from" in email box
 $cc_headers = 'From:<[email protected]>'. "\r\n"; 

 //$vendor_mail fetches virtuemart's vendor's email.
 $to_email = $vendor_mail;
 $cc_subject = "Transaction attempt - ".$response[3];
 $cc_message = $Message;

ora ho personalizzato le risposte in base al loro stato.

        ...
elseif ($response[0] == '2') {
....//some codes
            mail($to_email,$cc_subject,$cc_message,$cc_headers);
.....
elseif ($response[0] == '3') {
....//some codes
            mail($to_email,$cc_subject,$cc_message,$cc_headers);
.....
elseif ($response[0] == '4') {
....//some codes
            mail($to_email,$cc_subject,$cc_message,$cc_headers);
.....

Questo invierà e-mail al fornitore in caso di risposta non riuscita, rifiutata o emessa in altro modo ma non riuscita.

puoi personalizzare la risposta per un pagamento andato a buon fine anche sotto

 if ($response[0] == '1') {
 ............. email is successful

Spero che altri sviluppatori possano trovare questo utile.

Saluti

1
MFarooqi