PayPal Express Checkout (IPN e campo personalizado usado por outro script) integration
A maneira mais rápida e segura de enviar dinheiro, fazer um pagamento online, receber dinheiro ou configurar uma conta de comerciante.
O PayPal Express Checkout integra-se usando o callback de IPN, mesmo que o callback e o campo personalizado sejam usados por outro sistema (por exemplo, carrinho de compras). Por isso, você terá que escolher um separador que separará o valor do nosso cookie e o de terceiros. Usaremos || neste exemplo.
Observação! Esta é a descrição da integração com o PayPal se você usar botões do PayPal em suas páginas da web. Se você usa o PayPal como um sistema de processamento em seu carrinho de compras, use o método de integração com o carrinho de compras, não estas etapas.
Escolher separador
Escolha o separador que separará o nosso valor do cookie de terceiros. Usaremos || neste exemplo. Você tem que configurar o plugin Paypal para usar este separador. Vá para Plugins > Paypal > Configurar > Separador de valor personalizado.
Botão Paypal
Agora adicione o seguinte código em TODOS os formulários de botão do PayPal. Certifique-se de que o campo personalizado que você tem em seu botão tem 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>
Isso garantirá que o referrer seja adicionado ao campo personalizado após o separador especificado.
Integração com seu script de processamento IPN – parte 1
Agora o callback de IPN é apontado para o seu script. Este callback deve ser encaminhado também para o script PAP paypal.php, cuja URL é http://www.yoursite.com/affiliate/plugins/PayPal/paypal.php.
Caso seu script de processamento do Paypal esteja em PHP, você pode usar o seguinte código para fazer isso. Você pode colocá-lo no início do seu arquivo de processamento:
/* 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 */
Integração com seu script de processamento IPN – parte 2
O parâmetro personalizado está no formato 3rdPartySystemValue||PapValue. Para que o sistema de terceiros funcione corretamente, você precisa analisar 3rdPartySystemValue do parâmetro personalizado. Para fazer isso, adicione o seguinte código após a verificação do IPN do PayPal:
<?php
$separator = '||';
if ($_POST['custom'] != '') {
$explodedCustomValue = explode($separator, $_POST['custom'], 2);
if (count($explodedCustomValue) == 2) {
$_REQUEST['custom'] = $_POST['custom'] = $explodedCustomValue[0];
}
}
?>
Isso é tudo o que é necessário. Agora, sempre que houver venda, o PayPal Express Checkout usará sua função IPN para chamar nosso script de rastreamento de vendas, e o sistema gerará comissão para o afiliado.