WooCommerce (Módulo WordPress) integration
Um plugin de e-commerce gratuito que permite vender qualquer coisa.
Essa integração com o WooCommerce é muito fácil, pois você pode conectar os dois usando o plugin do WordPress. Quando instalado, configure ele para definir o que você deseja rastrear e como.
Você pode acompanhar as comissões por produto, ID do pedido e cupons.
Se você deseja (ou precisa) integrar o WooCommerce manualmente, aqui está um guia.
Acompanhamento de pedidos
Para rastrear todo o pedido, use o código a seguir. Edite o arquivo wp-content/plugins/woocommerce/templates/checkout/thankyou.php e coloque o código abaixo da linha:
<?php do_action( 'woocommerce_thankyou', $order->id ); ?>
<script id="pap_x2s6df8d" src="https://URL_TO_PostAffiliatePro/scripts/trackjs.js" type="text/javascript"></script>
<script type="text/javascript">
PostAffTracker.setAccountId('Account_ID');
var sale = PostAffTracker.createSale();
sale.setTotalCost('<?php echo ($order->order_total - $order->order_shipping); ?>');
sale.setOrderID('<?php echo $order->id; ?>');
sale.setCurrency('<?php echo $order->get_order_currency(); ?>');
PostAffTracker.register();
</script>
Observação:
Caso você use um tema personalizado para WooCommerce e o arquivo thankyou.php também esteja localizado lá (/themes/your_custom_theme/woocommerce/checkout/thankyou.php, você deve integrar ele em vez de o padrão.
Se você quiser um rastreamento mais detalhado, siga o próximo passo em vez deste.
Se você deseja usar o plugin Comissões Vitalícias, então logo acima:
PostAffTracker.register();
adicione isso:
sale.setData1('<?php echo $order->billing_email; ?>');
ou isso:
sale.setData1('<?php echo $order->user_id; ?>');
Por integração de produto
Se você quiser acompanhar as comissões por produto, use este código em vez do passo 1 do formulário. Você deve colocá-lo no mesmo arquivo, no mesmo local:
wp-content/plugins/woocommerce/templates/checkout/thankyou.php
logo abaixo desta linha:
<?php do_action( 'woocommerce_thankyou', $order->id ); ?>
<script id="pap_x2s6df8d" src="https://URL_TO_PostAffiliatePro/scripts/trackjs.js" type="text/javascript"></script>
<script type="text/javascript">
PostAffTracker.setAccountId('Account_ID');
<?php
$i = 0;
foreach ($order->get_items() as $item) {
$itemprice = $item['line_total'];
$couponCode = '';
$_product = $order->get_product_from_item($item);
$p = $_product->id;
try { //if coupon has been used, set the last one in the setCoupon() parameter
$coupon = $order->get_used_coupons();
$couponToBeUsed = (count($coupon)>1 ? count($coupon)-1 : 0);
if (isset($coupon[$couponToBeUsed])) {
$itemcount = $order->get_item_count($type = '');
$orderdiscount = $order->get_order_discount();
if ($itemcount > 0) {
$discountperitem = $orderdiscount / $itemcount;
$itemprice = $item['line_total'] - $discountperitem;
}
$couponCode = $coupon[$couponToBeUsed];
}
}
catch (Exception $e) {
//echo "<!--Error: ".$e->getMessage()."-->";
}
if (!empty($_product->sku)) {
$p = $_product->sku;
}
echo "var sale".$i." = PostAffTracker.createSale();";
echo "sale".$i.".setTotalCost('".$itemprice."');";
echo "sale".$i.".setOrderID('".$order->id."($i)');";
echo "sale".$i.".setProductID('".$p."');";
echo "sale".$i.".setCurrency('".$order->get_order_currency()."');";
echo "sale".$i.".setCoupon('".$couponCode."');";
$i++;
}
?>
PostAffTracker.register();
</script>
Salve suas alterações. Pronto, sua loja foi integrada.
Se você quiser usar o plugin Comissões Vitalícias, então siga logo abaixo:
echo "sale".$i.".setCoupon('".$couponCode."');";
add this:
echo "sale".$i.".setData1('".$order->billing_email."');";
or this:
echo "sale".$i.".setData1('".$order->user_id."');";
Integração do módulo PayPal no WooCommerce – parte 1
Localize e edite o seguinte arquivo:
- para WooCommerce 2.2.11 e inferior: woocommerce/includes/gateways/paypal/class-wc-gateway-paypal.php
- para WooCommerce 2.3.3 e superior: woocommerce/includes/gateways/paypal/includes/class-wc-gateway-paypal-request.php
Você pode editar os arquivos do plugin usando o editor de plugins no WordPress ou pode acessar os arquivos da sua instalação WP via FTP.
No arquivo acima mencionado encontre a função get_paypal_args() e dentro dela encontre uma linha com:
'return' =>
e uma linha com:
'notify_url' =>
Altere as linhas encontradas adicionando um código especial:
'return' => esc_url( add_query_arg( 'utm_nooverride', '1', $this->get_return_url( $order ) ) ).'&paypal=1', // Post Affiliate Pro integration snippet
'notify_url' => $this->notify_url.'?pap_custom='.$_POST['pap_custom'], // Post Affiliate Pro integration snippet
Integração do módulo PayPal no WooCommerce – parte 2
- para WooCommerce 2.2.11 e inferior: no mesmo arquivo (woocommerce/includes/gateways/paypal/class-wc-gateway-paypal.php), encontre a função check_ipn_request_is_valid e nessa função abaixo da linha da função check_ipn_request_is_valid adicione o código encontrado na caixa abaixo
- para WooCommerce 2.3.3 e superior: encontre e edite o arquivo de (woocommerce/includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php) e nesse arquivo encontre a função validate_ipn(). Dentro dessa função encontre a seguinte linha:
if ( ! is_wp_error( $response ) && $response['response']['code'] >= 200 && $response['response']['code'] < 300 && strstr( $response['body'], 'VERIFIED' ) ) {
e logo abaixo dessa linha adicione o código encontrado na caixa abaixo:
/* Post Affiliate Pro integration snippet */
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://URL_TO_PostAffiliatePro/plugins/PayPal/paypal.php?pap_custom='.$_GET['pap_custom']);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST);
curl_exec($ch);
/* /Post Affiliate Pro integration snippet */
Salve seu trabalho e continue com a próxima etapa.
Integração do módulo PayPal no WooCommerce – parte 3
Edite o arquivo: woocommerce/templates/checkout/form-checkout.php.
Encontre esta linha:
<?php do_action( 'woocommerce_checkout_order_review' ); ?>
e coloque este código abaixo da linha:
<!-- Post Affiliate Pro integration snippet -->
<input type="hidden" name="pap_custom" value="" id="pap_dx8vc2s5">
<script id="pap_x2s6df8d" src="https://URL_TO_PostAffiliatePro/scripts/notifysale.php" type="text/javascript">
</script>
<!-- /Post Affiliate Pro integration snippet -->
Integração do módulo PayPal no WooCommerce – parte 4
Se você usa o PayPal apenas como sua integração de pagamento, pode ignorar esta etapa.
Para garantir que a integração não crie pedidos duplicados (um do PayPal e outro da página de agradecimento), temos que definir a página de agradecimento para ignorar comissões para pedidos do PayPal.
Para fazer isso, você deve modificar um pouco o código de acompanhamento da página de agradecimento. Primeiro, edite o arquivo woocommerce/templates/checkout/thankyou.php e encontre esta linha:
<?php do_action( 'woocommerce_thankyou', $order->id ); ?>
Coloque este código abaixo dessa linha:
<?php
if (empty($_GET['paypal'])) :
?>
Agora, abaixo das últimas linhas de integração:
PostAffTracker.register();
</script>
Adicione este código:
<?php endif; ?>
É isso. Salve seu trabalho e o último passo é ativar seu plugin de controle de IPN do PayPal em seu Post Affiliate Pro.
Integração com Stripe
Se você deseja integrar os pagamentos recorrentes do Stripe, pode fazê-lo em algumas pequenas etapas. Antes de tudo, você deve ter seguido o passo 1 ou 2 e também usar o e-mail do cliente em data1:
sale.setData1('<?php echo $order->billing_email; ?>');
Para fazer com que o Stripe informe seu PAP sobre um pagamento recorrente, você deve adicionar um novo webhook em sua conta Stripe, Sua conta (canto superior direito) > Configurações da conta > Webhooks … use este URL:
https://URL_TO_PostAffiliatePro/plugins/Stripe/stripe.php
Além disso, você deve habilitar (e configurar) o plugin Stripe e o plugin Comissões Vitalícias.
Não se esqueça de inserir o código de rastreamento de cliques no arquivo de cabeçalho ou rodapé do WP, usando o menu Aparência.
OBSERVAÇÃO: Caso o acompanhamento de vendas não funcione para você caso o código de acompanhamento de vendas esteja no local, verifique se há um diretório especial para woocommerce em seu tema personalizado. Se você encontrou, basta integrar o arquivo /checkout/thankyou.php lá.