![Avatar discord do usuario jessica_efi](https://cdn.discordapp.com/avatars/671763456487325717/355e28ef3b66ebe6b5d8669ad4931f25.webp)
Esse array meta_data é customizável, todos esses que começam com wc é que o Woocommerce salva. A efí salva o _gn_status_card. Você pode adaptar o plugin para salvar as informações que deseja, através do update_meta.
Termos mais procurados:
Esse array meta_data é customizável, todos esses que começam com wc é que o Woocommerce salva. A efí salva o _gn_status_card. Você pode adaptar o plugin para salvar as informações que deseja, através do update_meta.
"meta_data": [
{
"id": 533,
"key": "_gn_status_card",
"value": "approved"
},
{
"id": 532,
"key": "_wc_order_attribution_device_type",
"value": "Desktop"
},
{
"id": 530,
"key": "_wc_order_attribution_session_count",
"value": "1"
},
{
"id": 527,
"key": "_wc_order_attribution_session_entry",
"value": "https://loja.cessetembro.com.br/produto/aba-analise-comportamental-do-espectro-autista/"
},
{
"id": 529,
"key": "_wc_order_attribution_session_pages",
"value": "36"
},
{
"id": 528,
"key": "_wc_order_attribution_session_start_time",
"value": "2024-09-05 23:19:21"
},
{
"id": 525,
"key": "_wc_order_attribution_source_type",
"value": "typein"
},
{
"id": 531,
"key": "_wc_order_attribution_user_agent",
"value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
},
{
"id": 526,
"key": "_wc_order_attribution_utm_source",
"value": "(direct)"
},
{
"id": 522,
"key": "is_vat_exempt",
"value": "no"
}
],
Bom dia, pessoal. Beleza? Tenho duas dúvidas. Está grande, mas tentei exemplificar para ficar mais claro
Contexto da minha integração: Uso Assinaturas por link, apenas "credit_card", em NodeJS.
-> DÚVIDA 1:
é possível eliminar a necessidade do meu cliente preencher o "Endereço de Cobrança"?
Já crio a subscription com "request_delivery_address" como false, mas esse é o de entrega apenas. Há um parecido para endereço de cobrança?
Isso otimizaria a quantidade de campos para o cliente preencher. Além disso, como esse endereço geralmente não é exigido na maioria dos formulários de assinatura de outras plataformas de pagamento, alguns clientes podem se perguntar por que algum "endereço" é necessário para um produto digital como o meu. O "porque" não fica exatamente claro para o cliente na página de checkout.
---
-> DÚVIDA 2
É possível gerar um link de assinatura que "lembra" dos dados do cliente?
Exemplo: inicialmente um cliente escolhe o plano mensal. Porém, 3 meses depois, ele decide mudar para o plano anual para economizar.
Talvez não seja possível fazer uma mudança dinâmica de planos. Nesse caso, seria necessário cancelar a assinatura atual e iniciar uma nova?
A questão é:
Como fazer uma mudança de planos suave para o cliente? Há uma forma de criar essa nova assinatura/link de assinatura, agora com o plano "anual", sem que o cliente precisa preencher todos os campos novamente?
Agradeço desde já 🤔🤝
Estou realizando uma simulação de pagamento dentro do homologação utilizando o token gerado https://efipay.github.io/js-payment-token-efi/ por algum motivo as transação estão retornando:
Boa tarde, Ricardo!
Tudo bem?
Te chamei no privado.
Bom dia, pessoal.
Estou com dúvida sobre o comportamento do "expire_at" quando o método de pagamento da assinatura é apenas cartão de crédito (payment_method: 'credit_card')
Vi que esse valor é para o vencimento do boleto. Então, se uso credit_card apenas, a data nesse campo é irrelevante?
Se bem que essa data aparece no checkout como "Vencimento", mesmo com credit_card como método de pagamento.
Aproveitando o gancho, outra dúvida: o link de pagamento de assinatura é permanente? No sentido de não expirar? Dá pra adicionar um tempo limite em um link?
@igor_efi - Passando apenas para informar, que, o motivo deste erro, foi chamar refundCharge ao invés de refundCard, visto que o pagamento foi feito pelo cartão de crédito.
@_acb09, a versão da SDK de php 1.9 ja possui a função refundCard
Estou implementando a validação do cartão de crédito com o SDK, ou seja:
Cobrar 3 reais e estornar.
Ao cobrar está dando certo, porém ao estornar eu recebo:
ErrorException {#1983 // app\Http\Controllers\Api\Checkout\CreditCardController.php:99
#message: "Undefined array key "refundCharge""
#code: 0
eu faço assim:
Olá, Bom dia pessoal. Estou com um problema de implementação do sistema de pagamento do cartão de credito. Segui o fluxograma da documentação e adicionei a função que gera o 'payment_token' para envio do mesmo para a api que vai gerar a cobrança.
Estou usando a versão do pacote "payment-token-efi": "^3.0.3" do NPM o qual esta em um App que utiliza Expo.
A função que estou utilizando :
O trial_days é informado dentro do atributo credit_card. Segue um exemplo:
Boa tarde, @luizfernando6187! Tudo bem?
A API oferece o atributo trial_days, que permite definir um período de teste gratuito para assinaturas do tipo cartão de crédito. Esse atributo está disponível somente quando o pagamento é realizado com credit_card.
Olá bom dia. utilizei o endpoint para efetuar um estorno. /v1/charge/card/:id/refund
na aplicação da efi mostra que foi devolvido. porém no banco ainda não consta. já havia feito esse mesmo teste antes e tudo ok.
fiz o teste na aplicação ontem e hj ainda não consta. há alguma chance de ser com o banco que eu efeituei a compra com o cartão ?
Bom dia a todos!
Me chamo Davyd Kewen, sou desenvolvedor Fullstack com 5 anos de experiência na área.
Me encontro disponível para projetos e trabalhos.
Estou disponibilizando meus dados de contato
Email: [email protected]
WhatsApp: +55 (62) 9.8305-5581
E antes que pergunte, o 'SubscriptionID' está sendo preenchido na 'ViewPayPlanCreditCard'
curl --location 'https://cobrancas-h.api.efipay.com.br/v1/charge/one-step' \
--header 'Authorization: token' \
--header 'Content-Type: application/json' \
--data-raw '{
"items": [
{
"name": "Meu Produto",
"value": 1000,
"amount": 1
}
],
"payment": {
"credit_card": {
"customer": {
"name": "Gorbadoc Oldbuck",
"cpf": "94271564656",
"email": "[email protected]",
"birth": "1990-08-29",
"phone_number": "5144916523"
},
"installments": 1,
"payment_token": "9621af918d06297342bba69fa32e65dbc43542c0",
"billing_address": {
"street": "Avenida Juscelino Kubitschek",
"number": "909",
"neighborhood": "Bauxita",
"zipcode": "35400000",
"city": "Ouro Preto",
"complement": "",
"state": "MG"
}
}
}
}'
try {
window.EfiJs.CreditCard
.setAccount('Identificador_de_conta_aqui')
.setEnvironment('production') // 'production' or 'sandbox'
.setCreditCardData({
brand: 'visa',
number: '4485785674290087',
cvv: '123',
expirationMonth: '05',
expirationYear: '2029',
reuse: false
})
.getPaymentToken()
.then(data => {
const payment_token = data.payment_token;
const card_mask = data.card_mask;
console.log('payment_token', payment_token);
console.log('card_mask', card_mask);
}).catch(err => {
console.log('Código: ', err.code);
console.log('Nome: ', err.error);
console.log('Mensagem: ', err.error_description);
});
} catch (error) {
console.log('Código: ', error.code);
console.log('Nome: ', error.error);
console.log('Mensagem: ', error.error_description);
}
Boa noite, ao executar o teste da createOneStepCard, recebi o erro de curl_setopt_array(): cannot represent a stream of type Output as a STDIO FILE in guzzlehttp\guzzle\src\Handler\CurlFactory.php on line 70, outros exemplos deram certo, conseguem ajudar ? @guilherme_efi