PayPal Express Checkout (IPN y campo personalizado utilizado por otro script) integration
La forma más rápida y segura de enviar dinero, realizar un pago en línea, recibir dinero o crear una cuenta comercial.
PayPal Express Checkout se integra utilizando la devolución de llamada de IPN incluso si la devolución de llamada y el campo personalizado son utilizados por otro sistema (por ejemplo, el carrito de la compra). Por ello, tendrá que elegir un separador que separe nuestro valor de cookie del de terceros. En este ejemplo utilizaremos ||.
¡Nota! Esta es la descripción de la integración con PayPal si utilizas los botones de PayPal en tus páginas web. Si utilizas PayPal como sistema de procesamiento en tu carro de la compra, utiliza el método de integración con el carro de la compra, no estos pasos.
Elige el separador
Elige el separador que separará nuestro valor de la cookie de terceros. En este ejemplo utilizaremos ||. Tienes que configurar el plugin de Paypal para utilizar este separador. Ve a Plugins > Paypal > Configurar > Separador de valores personalizado.
Botón de Paypal
Ahora añade el siguiente código en TODO el formulario del botón de PayPal. Asegúrate de que el campo personalizado que tienes en el botón tiene id=”pap_ab78y5t4a”:
<script id="pap_x2s6df8d" src="https://URL_TO_PostAffiliatePro/scripts/trackjs.js" type="text/javascript"></script>
<script type="text/javascript">PostAffTracker.setAccountId('Account_ID');
PostAffTracker.setAppendValuesToField('||');
PostAffTracker.writeCookieToCustomField('pap_ab78y5t4a');
</script>
Esto garantizará que el referente se añada al campo personalizado después del separador especificado.
Integración con tu script de procesamiento de IPN – parte 1
Ahora la llamada de retorno del IPN apunta a tu script. Este callback tiene que ser reenviado también al script PAP paypal.php, cuya url es .http://www.yoursite.com/affiliate/plugins/PayPal/paypal.php.
En caso de que tu script de procesamiento de paypal esté en PHP, puedes utilizar el siguiente código para conseguirlo. Puedes colocarlo al principio de tu archivo de procesamiento:
/* PAP integration */
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://URL_TO_PostAffiliatePro/plugins/PayPal/paypal.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST);
curl_exec($ch);
/* end of PAP integration */
Integración con tu script de procesamiento de IPN – parte 2
El parámetro personalizado tiene el formato 3rdPartySystemValue||PapValue. Para que el sistema de terceros funcione correctamente tienes que analizar 3rdPartySystemValue del parámetro personalizado. Para ello, añade el siguiente código justo después de la verificación del IPN de PayPal:
<?php
$separator = '||';
if ($_POST['custom'] != '') {
$explodedCustomValue = explode($separator, $_POST['custom'], 2);
if (count($explodedCustomValue) == 2) {
$_REQUEST['custom'] = $_POST['custom'] = $explodedCustomValue[0];
}
}
?>
Esto es todo lo que se necesita. Ahora, cada vez que haya una venta, PayPal Express Checkout utilizará su función de IPN para llamar a nuestra secuencia de comandos de seguimiento de ventas, y el sistema generará una comisión para el afiliado.