2012-08-24 15 views
5

Ho un cliente che si è registrato per un account sagepay. Il suo attuale sito web corre fuori da wordpress 3.0 e attualmente non ha alcun tipo di funzionalità di e-commerce.Creazione di un pulsante di pagamento di base ora per gateway Sagepay

Ha bisogno di un pulsante che consente agli utenti di inviare un deposito di £ 300 tramite sagepay (tale importo non cambia mai). (Di solito, suggerirei di utilizzare paypal per qualcosa di simile, ma a quanto pare a causa della natura del viaggio della sua attività, paypal non permetterà al mio cliente di avere un account pro)

Ive ha esaminato il metodo descritto in un thread simile su qui di nuovo in marzo (How Do I Make a SagePay BuyNow Button?), ma non sono davvero sicuro di come implementarlo all'interno di una pagina su wordpress, non molto ben informato sulla modifica del template di base di php bar, quindi mi sono perso completamente alla parte $ PAYMENT_CRYPT.

Se qualcuno è in grado di fornire i passaggi necessari per implementare un pulsante di base che invia sempre la stessa quantità e quindi raccoglie tutti i dettagli della carta/detials dei clienti una volta inviati al gateway di Sagepay, sarebbe estremamente apprezzato !

risposta

2

In breve, no. Non è un modo semplice per avvicinarsi a questo. A meno che non si colleghi a un modulo di pagamento a SagePay e si usi la nuova funzione IFRAME. È possibile avere determinate informazioni all'interno di WordPress che consentono il codice PHP sulle pagine del modello o sui file del modello.

1 - IFRAME il modulo entro il server PHP e il codice del modulo da solo in questo modo il CSS diventerà come il CSS sulla pagina di WordPress

2 - Creare un modulo di pagamento per esso

3 - Usa un modulo di pagamento eCommerce esistente per WordPress - ci sono già molti plugin

4 - Crea un hyper link pulsante di pagamento, una volta cliccato, va su un modulo PHP sul tuo server per l'importo di £ 300 ..

5 - Utilizzare Nochex o un altro fornitore di pagamento, Google Wallet ecc (questa non è una scelta facile per il cliente)

con la forma, si potrebbe avere:

<? 

# Define your vars 

$serverLive="https://live.sagepay.com/gateway/service/vspform-register.vsp" 
//$serverLive="https://test.sagepay.com/gateway/service/vspform-register.vsp" 
$YOUR_VENDOR_LOGIN_NAME=""; 
$VendorTxCode="406227821909"; 
$Amount="350.00"; 
$Currency="GBP"; 
$Description="1 ACME Widget"; 
$SuccessURL="http://example.com/success.php"; 
$FailureURL="http://example.com/fail.php"; 
$BillingSurname="Smith"; 
$BillingFirstnames="John"; 
$BillingAddress1="123 Main Street"; 
$BillingCity="Anywhere"; 
$BillingPostCode="29555"; 
$BillingCountry="USA"; 
$DeliverySurname="Smith"; 
$DeliveryFirstnames="John"; 
$DeliverAddress1="123 Main Street"; 
$DeliveryCity="Anywhere"; 
$DeliveryPostCode="29555"; 
$DeliveryCountry="GBP"; 

# The address information can be done via jQuery on your page or get some defaults 

?> 
<form action="<?=$serverLive?>" method="POST" id="SagePayForm" name="SagePayForm"> 
    <input type="hidden" name="VPSProtocol" value="2.23" /> 
    <input type="hidden" name="TxType" value="PAYMENT" /> 
    <input type="hidden" name="Vendor" value="<?= $YOUR_VENDOR_LOGIN_NAME ?>" /> 
    <input type="hidden" name="Crypt" value="<?= $PAYMENT_CRYPT ?>">  
    <input type="image" src="images/buynow-sagepay.png" /> 
</form> 
<script type="text/javascript"> 
function submitform() 
{ 
    document.SagePayForm.submit(); 
} 
submitform(); 
</script> 

Anche con questo codice si sarebbe ancora bisogno di usa alcune librerie SagePay, come le funzioni XOR e Crypt:

// Crypt and XOR functions 
private function simpleXor($string, $password) { 
    $data=array(); 
    for ($i=0; $i < utf8_strlen($password); $i++) { 
     $data[$i]=ord(substr($password, $i, 1)); 
    } 
    $output=''; 
    for ($i=0; $i < utf8_strlen($string); $i++) { 
    $output .= chr(ord(substr($string, $i, 1))^($data[$i % utf8_strlen($password)])); 
    } 
    return $output;  
} 
+0

il tuo server $ dovrebbe avere; dopo di esso, e non hai detto come includere le funzioni // Crypt e XOR – Jon

Problemi correlati