Setcom (Auto-post e campo personalizado usado por outro script) integration
Setcom integra usando callback por auto-post. Use esta integração se estiver usando auto-post para outra finalidade, como algum tipo de entrega digital ou registro de assinatura etc. e se já estiver usando um campo personalizado para transferir alguns dados.
Para integrar com Setcom, você precisa do plugin Setcom que é distribuído com o PAP por padrão.
Configurar plugin
Primeiro você deve ativar o plugin Setcom em PAP > Menu inicial > Plugins. Após o plugin ser ativado, você deve configurá-lo. Clique no botão Configurar. Você deve definir seu nome de usuário de comerciante e senha que você está usando para fazer login em seu painel de comerciante. O identificador do comerciante está localizado no menu superior do painel do comerciante do Setcom > Minha conta > guia Visão Geral. Você deve definir algum separador. O valor padrão é ||.
Defina suas configurações do Setcom
Faça login no seu painel de comerciante do Setcom. No menu superior > Perfil > Preferências de venda, selecione Preferências de pagamento no site. Certifique-se de que o auto-post esteja ativado e que o URL do auto-post esteja definido como https://URL_TO_PostAffiliatePro/plugins/Setcom/setcom.php.
Não se esqueça de salvar suas configurações.
Botões de atualização
Agora adicione o seguinte código em TODOS os formulários de botão Setcom (Compre agora, Adicione ao carrinho e/ou Finalize):
<input type="hidden" name="MerchCustom" value="abc" id="pap_ab78y5t4a">
Por exemplo:
<form action="https://www.setcom.com/secure/index.cfm" method="post">
<input type="hidden" name="buttonaction" value="buynow">
<input type="hidden" name="merchantidentifier" value="12345678920">
<input type="hidden" name="liddesc" value="auticko">
<input type="hidden" name="lidsku" value="a123">
<input type="hidden" name="lidprice" value="150.00">
<input type="hidden" name="lidqty" value="1">
<input type="hidden" name="CurrencyAlphaCode" value="ZAR">
<input type="hidden" name="LIDExpiry" value="1">
<input type="hidden" name="ShippingRequired" value="0">
<input type="hidden" name="IsVoucher" value="0">
<input type="hidden" name="Option1Name" value="custom">
<input type="hidden" name="Option1Value" value="oldCustom">
<input type="hidden" name="MerchCustom" value="abc" id="pap_ab78y5t4a">
<input type="image" src="https://www.setcom.com/www/graphics/cartbuttons/bn6.gif">
</form>
Após este formulário você deve inserir:
<script id="pap_x2s6df8d" src="https://URL_TO_PostAffiliatePro/scripts/notifysale.php" type="text/javascript">
</script>
<script type="text/javascript">
PostAffTracker.setAppendValuesToField('||');
PostAffTracker.writeCookieToCustomField('pap_ab78y5t4a');
</script>
Integração com seu script
Agora o callback por auto-post é apontado para o seu script. Este callback deve ser encaminhado também para o script PAP paypal.php, cuja URL é https://URL_TO_PostAffiliatePro/plugins/Setcom/setcom.php.
Caso seu script de processamento do Setcom 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/Setcom/setcom.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST);
curl_exec($ch);
/* end of PAP integration */
Isso garantirá que todo callback por auto-post seja encaminhado sem afetar seu script original
Integração com seu script – parte 2
O parâmetro personalizado está no formato 3rdPartySystemValue||PapValue. Para que o sistema de terceiros funcione corretamente, você precisa parse3rdPartySystemValue do parâmetro personalizado. Para fazer isso, adicione o seguinte código logo após a verificação de auto-post do Setcom.
Suponha que na variável $custom_value você tenha o valor personalizado carregado do XML enviado pelo Setcom:
$separator = '||';
if ($custom_value!= '') {
$explodedCustomValue = explode($separator, $custom_value, 2);
if (count($explodedCustomValue) == 2) {
$custom_value = $explodedCustomValue[0];
}
}
Depois disso, você tem seu valor original em $custom_value.
Você pode encontrar informações mais detalhadas sobre a integração do Setcom no Guia de Implementação do Setcom.