O exemplo abaixo mostra como utilizar a funcionalidade Card on File em uma transação recorrente, quando o cartão já foi armazenado e utilizado anteriormente.
Saiba mais sobre essa funcionalidade na documentação.
Ambiente | Método | Endpoint |
|---|---|---|
Sandbox | post |
|
Produção | post |
|
Requisição
{
"MerchantOrderId": "2014113245231706",
"Customer":{
"Name":"Aline de Souza",
"Email":"[email protected]",
"Birthdate":"1990-01-01"
},
"Payment": {
"Type": "CreditCard",
"Amount": 1500,
"Installments": 1,
"SoftDescriptor": "123456789ABCD",
"Recurrent": true,
"CreditCard": {
"CardNumber": "4091688625337641",
"Holder": "Teste Holder",
"ExpirationDate": "12/2035",
"SecurityCode": "333",
"SaveCard": "false",
"Brand": "Visa",
"CardOnFile":{
"Usage": "Used",
"Reason":"Recurring"
}
}
}
}{
"MerchantOrderId": "Loja123456",
"Customer":{
"Name":"Aline de Souza",
"Email":"[email protected]",
"Birthdate":"1990-01-01"
},
"Payment": {
"Type": "CreditCard",
"Amount": 1500,
"Installments": 1,
"SoftDescriptor": "123456789ABCD",
"Capture": "false",
"RecurrentPayment": {
"AuthorizeNow": "true",
"EndDate": "2030-12-01",
"Interval": "Monthly"
},
"CreditCard": {
"CardNumber": "4091688625337641",
"Holder": "Teste Holder",
"ExpirationDate": "12/2035",
"SecurityCode": "333",
"SaveCard": "false",
"Brand": "Visa",
"CardOnFile":{
"Usage": "Used",
"Reason":"Recurring"
}
}
}
}PROPRIEDADE | TIPO | TAMANHO | OBRIGATÓRIO | DESCRIÇÃO |
|---|---|---|---|---|
| Texto | 50 | Sim | Número de identificação do pedido. Atenção: Os caracteres permitidos são apenas a-z, A-Z, 0-9. Não são permitidos caracteres especiais e espaços em branco. |
| Texto | 255 | Não | Nome do comprador. Atenção: Os caracteres permitidos são apenas a-z, A-Z. Não são permitidos caracteres especiais e números. |
| Texto | 255 | Não | E-mail do comprador. |
| Date | 10 | Não | Data de nascimento do comprador (AAAA/MM/DD). |
| Texto | 100 | Sim | Tipo do meio de pagamento. |
| Número | 15 | Sim | Valor do pedido (ser enviado em centavos). |
| Texto | 3 | Não | Moeda na qual o pagamento será feito (BRL). |
| Texto | 3 | Não | País na qual o pagamento será feito. |
| Número | 2 | Sim | Número de parcelas. Se a transação for uma recorrência, o número de parcelas será 1. Para transações parceladas, o número de parcelas será sempre maior que 1. |
| Booleano | Não (Default false) | Booleano que identifica que a autorização deve ser com captura automática (“true”) ou captura posterior (“false”). | |
| Texto | 13 | Não | O complemento do nome da loja que aparecerá na fatura do cartão. Não permite caracteres especiais. |
| Booleano | 5 | Sim* | | Indica que uma transação é de recorrência própria. |
| Booleano | Sim | Booleano para saber se a primeira recorrência já vai ser autorizada ou não. ⚠️Para recorrência programada, envie | |
| Texto | 10 | Sim* | | Data para término da cobrança recorrente. Formato: 12/2030 (MM/YYYY). |
| Texto | 10 | Sim* | | Intervalo da recorrência:
|
| Texto | 19 | Sim | Número do cartão do comprador. |
| Texto | 25 | Sim | Nome do comprador impresso no cartão. Não aceita caracteres especiais ou acentuação. |
| Texto | 7 | Sim | Data de validade impressa no cartão. Ex. MM/AAAA. |
| Texto | 4 | Não | Código de segurança impresso no verso do cartão. |
| Booleano | Não (Default false) | Booleano que identifica se o cartão será salvo para gerar o | |
| Texto | 10 | Sim | Bandeira do cartão. Valores possíveis: Visa / Master / Amex / Elo / Aura / JCB / Dinners / Discover. |
| Texto | Não | "First" se o cartão foi armazenado e é seu primeiro uso. | |
| Texto | Condicional | Indica o propósito de armazenamento de cartões, caso o campo CardOnFile.Usage for “Used”.
|
Resposta
{
"MerchantOrderId": "2014113245231706",
"Customer":{
"Name":"Aline de Souza",
"Email":"[email protected]",
"Birthdate":"1990-01-01"
},
"Payment": {
"ServiceTaxAmount": 0,
"Installments": 1,
"Interest": "ByMerchant",
"Capture": false,
"Authenticate": false,
"Recurrent": true,
"CreditCard": {
"CardNumber": "4091688625337641",
"Holder": "Teste Holder",
"ExpirationDate": "12/2035",
"SaveCard": false,
"Brand": "Visa",
"CardOnFile":{
"Usage": "Used",
"Reason":"Recurring"
}
},
"ProofOfSale": "3827556",
"Tid": "0504043827555",
"AuthorizationCode": "149867",
"SoftDescriptor":"123456789ABCD",
"PaymentId": "737a8d9a-88fe-4f74-931f-acf81149f4a0",
"Type": "CreditCard",
"Amount": 1500,
"Currency": "BRL",
"Country": "BRA",
"Provider": "Simulado",
"ExtraDataCollection": [],
"Status": 1,
"ReturnCode": "4",
"ReturnMessage": "Operation Successful",
"Link": {
"Method": "GET",
"Rel": "recurrentPayment",
"Href": "https://apiquerysandbox.cieloecommerce.cielo.com.br/1/RecurrentPayment/{RecurrentPaymentId}"
},
"AuthorizeNow": true
},
"Links": [
{
"Method": "GET",
"Rel": "self",
"Href": "https://apiquerysandbox.cieloecommerce.cielo.com.br/1/sales/{PaymentId}"
},
{
"Method": "PUT",
"Rel": "capture",
"Href": "https://apiquerysandbox.cieloecommerce.cielo.com.br/1/sales/{PaymentId}/capture"
},
{
"Method": "PUT",
"Rel": "void",
"Href": "https://apiquerysandbox.cieloecommerce.cielo.com.br/1/sales/{PaymentId}/void"
}
]
}{
"MerchantOrderId": "Loja123456",
"Customer":{
"Name":"Aline de Souza",
"Email":"[email protected]",
"Birthdate":"1990-01-01"
},
"Payment": {
"ServiceTaxAmount": 0,
"Installments": 1,
"Interest": "ByMerchant",
"Capture": false,
"Authenticate": false,
"Recurrent": false,
"CreditCard": {
"CardNumber": "4091688625337641",
"Holder": "Teste Holder",
"ExpirationDate": "12/2035",
"SaveCard": false,
"Brand": "Visa",
"CardOnFile":{
"Usage": "Used",
"Reason":"Recurring"
}
},
"ProofOfSale": "3827556",
"Tid": "0504043827555",
"AuthorizationCode": "149867",
"SoftDescriptor": "123456789ABCD",
"PaymentId": "737a8d9a-88fe-4f74-931f-acf81149f4a0",
"Type": "CreditCard",
"Amount": 1500,
"Currency": "BRL",
"Country": "BRA",
"Provider": "Simulado",
"ExtraDataCollection": [],
"Status": 1,
"ReturnCode": "4",
"ReturnMessage": "Operation Successful",
"RecurrentPayment": {
"RecurrentPaymentId": "61e5bd30-ec11-44b3-ba0a-56fbbc8274c5",
"NextRecurrency": "2015-11-04",
"EndDate": "2019-12-01",
"Interval": "SemiAnnual",
"Link": {
"Method": "GET",
"Rel": "recurrentPayment",
"Href": "https://apiquerysandbox.cieloecommerce.cielo.com.br/1/RecurrentPayment/{RecurrentPaymentId}"
},
"AuthorizeNow": true
},
"Links": [
{
"Method": "GET",
"Rel": "self",
"Href": "https://apiquerysandbox.cieloecommerce.cielo.com.br/1/sales/{PaymentId}"
},
{
"Method": "PUT",
"Rel": "capture",
"Href": "https://apiquerysandbox.cieloecommerce.cielo.com.br/1/sales/{PaymentId}/capture"
},
{
"Method": "PUT",
"Rel": "void",
"Href": "https://apiquerysandbox.cieloecommerce.cielo.com.br/1/sales/{PaymentId}/void"
}
]
}
}Propriedade | Descrição | Tipo | Tamanho |
|---|---|---|---|
| Número da autorização, idêntico ao NSU. | string | 6 |
| Identificador da transação na adquirente. | string | 20 |
| Código de autorização. | string | 6 |
| Número de identificação do pagamento. | GUID | 36 |
| Status da Transação. Veja a tabela completa de Status transacional | byte | |
| Código de retorno. Veja a tabela completa de ReturnCode | string | 32 |
| Mensagem de retorno. Veja a tabela completa de ReturnMessage | string | 512 |
| Código de retorno da bandeira que define período para retentativa. Válido somente para bandeira Mastercard. Saiba mais Programa de retentativa das bandeiras para Mastercard | string | 2 |
| O PAR (Payment Account Reference) é o número que associa diferentes tokens a um mesmo cartão. Será retornado pelas bandeiras Master e Visa e repassado para os clientes do e-commerce Cielo. Caso a bandeira não envie a informação, o campo não será retornado. | string | 29 |
| Campo Identificador da próxima recorrência. | GUID | 36 |
| Data da próxima recorrência. | string | 7 |
| Data de término da recorrência. | string | 7 |
| Intervalo entre as recorrências. | integer | 10 |
| Booleano para saber se a primeira recorrência já vai ser autorizada ou não. | boolean |
Atenção:
- Envie os parâmetros em
Payment.RecurrentPaymentpara criar uma Recorrência Programada;- Envie o parâmetro
Payment.Recurrent= "true" para criar uma Recorrência Própria;- Para a bandeira Mastercard é necessário enviar o nó
Payment.InitiatedTransactionIndicatorpara indicar o iniciador de transação.