pagarme / pagarme-php

:blue_heart: Pagar.me's PHP API
0 stars 1 forks source link

Endereço obrigatório para a criação do Customer #304

Closed caferrari closed 6 years ago

caferrari commented 6 years ago

Contexto

Precisamos criar boletos sem o endereço do cliente, usando a API rest, funciona normalmente, porém o SDK Obriga o preenchimento do endereço.

Resultado esperado

Esperamos que o campo endereço da CustomerCreate seja nullable ou que haja uma outra fabrica que não obrigue esse dado

eduardostuart commented 6 years ago

Também tive esse problema. Criei um PR corrigindo a falta de endereço, mas acredito que o problema está na hora de criar transações com a integração checkout - que não possui um plano (sem enviar o planId).

Integração checkout:


const checkout = new PagarMeCheckout.Checkout({
  encryption_key: 'xxxxx',
  success: handleSuccess,
  error: handleError,
  close: handleClose
});

checkout.open({
  amount: 1000,
  customerData: 'true',
  paymentMethods: 'boleto,credit_card', 
  card_brands: 'elo, amex, diners, jcb, hipercard, visa, aura, discover, mastercard',
  maxInstallments: 12, 
  defaultInstallment: 3,
  uiColor: '#A4061C', 
  postbackUrl:'http://alguma-coisaaqui....', 
  interestRate:12,
  freeInstallments:3,
  headerText:'Valor a ser pago: {price_info}'
});

Se eu chamar a API logo em seguida.:

curl -X GET \
  'https://api.pagar.me/1/customers/IDCUSTOMERAQUI?api_key=xxxx' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json'

A resposta que eu recebo é bem estranha. Um exemplo:

{
    "object": "customer",
    "id": IDCUSTOMERAQUI,
    "external_id": "xxx@xxxx.com",
    "type": "individual",
    "country": "br",
    "document_number": null, <--- vazio???
    "document_type": "cpf",
    "name": "xxxxx",
    "email": "xxxx@xxxxx.com.br",
    "phone_numbers": [
        "+551111111111" <!-- existe!!!
    ],
    "born_at": null,
    "birthday": null,
    "gender": null,
    "date_created": "2018-09-16T19:00:44.210Z",
    "addresses": [],
    "documents": [ <!--- existe!!!
        {
            "object": "document",
            "id": "doc_xxxxxx",
            "type": "cpf",
            "number": "xxxxxxxxx" <-- existe!!
        }
    ],
    "phones": [] <!-- vazioo
}
  1. O campo phone_numbers vem preenchido, mas o phones vem vazio.
  2. O campo document_number vem vazio mais o campo documents vem preenchido corretamente.

Isso é um problema no Pagar.me (ou na documentação) e não no código desse repositório.

murilohns commented 6 years ago

corrigido no PR #306

a feature pode ser utilizada a partir da versão 3.7.10 da SDK =)