2012-08-24 9 views
5

Tengo un cliente que se ha registrado para una cuenta de sagepay. Su sitio web actual funciona con WordPress 3.0 y actualmente no tiene ningún tipo de funcionalidad de comercio electrónico.Creación de un botón de pago ahora básico para la puerta de enlace de sagepay

Necesita un botón que permite a los usuarios enviar un depósito de £ 300 a través de sagepay (esta cantidad nunca cambia). (Por lo general, sugeriría usar PayPal para algo como esto, pero aparentemente debido a la naturaleza de viaje de su negocio, PayPal no dejará que mi cliente tenga una cuenta pro)

Miré el método descrito en un hilo similar en aquí en marzo (How Do I Make a SagePay BuyNow Button?), pero no estoy seguro de cómo implementar esto dentro de una página en wordpress, no estoy muy bien informado sobre la edición básica de plantillas de php bar, así que me perdí totalmente en la parte $ PAYMENT_CRYPT.

Si alguien pudiera proporcionar los pasos que debo seguir para implementar un botón básico que envíe la misma cantidad cada vez, y luego recopilar todos los detalles de la tarjeta/detials del cliente una vez que los envíe a sagepay gateway, sería muy apreciado !

Respuesta

2

En resumen, no. No es una forma fácil de abordar esto. A menos que se vincule a un formulario de Pago con SagePay y use la nueva función IFRAME. Puede tener cierta información dentro de WordPress que permita el código PHP en sus páginas de plantilla o sus archivos de plantilla.

1 - IFRAME el formulario dentro de su servidor PHP y el código de la forma por sí solo de esa manera la CSS será como el CSS en la página de WordPress

2 - Crear un módulo de pago para que

3 - Utilice un módulo de servidor de comercio electrónico pago existente para WordPress - hay muchos complementos ya

4 - Cree un hipervínculo de botón de pago, una vez que hace clic, va a un formulario PHP en su servidor por la cantidad de £ 300 ..

5 - Uso Nochex u otro proveedor de pago, Google, etc Monedero (esto no es una opción fácil para el cliente)

con el formulario, usted podría tener:

<? 

# 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> 

Incluso con este código que seguiría siendo necesario utilice algunas bibliotecas de SagePay, como las funciones XOR y 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

su $ serverLive debería tener; después de eso, y no dijiste cómo incluir funciones // Crypt y XOR – Jon

Cuestiones relacionadas