Salvar cartão durante a autorização

AmbienteMétodoEndpoint
Sandboxhttps://apisandbox.braspag.com.br/v2/sales/
Produçãohttps://api.braspag.com.br/v2/sales/
ℹ️

Saiba mais sobre essa funcionalidade na documentação.

Para salvar um cartão de crédito utilizado em uma transação, basta enviar o parâmetro Payment.SaveCard como "true" na requisição padrão de autorização.

Em ambiente sandbox, a numeração do cartão precisa ser válida de acordo com o algoritmo de Lhun (mod10).

Abaixo veja a representação do fluxo transacional com a solicitação do token pela API do Pagador:

Requisição

--request POST "https://apisandbox.braspag.com.br/v2/sales/"
--header "Content-Type: application/json"
--header "MerchantId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
--header "MerchantKey: 0123456789012345678901234567890123456789"
--header "RequestId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
--data-binary
{  
   "MerchantOrderId":"2017051001",
   "Customer":{  
      "Name":"Nome do Comprador",
      "Identity":"12345678909",
      "IdentityType":"CPF",
      "Email":"[email protected]",
      "Birthdate":"1991-01-02",
      "IpAddress":"127.0.0.1",
      "Address":{  
         "Street":"Alameda Xingu",
         "Number":"512",
         "Complement":"27 andar",
         "ZipCode":"12345987",
         "City":"São Paulo",
         "State":"SP",
         "Country":"BRA",
         "District":"Alphaville"
      },
      "DeliveryAddress":{  
         "Street":"Alameda Xingu",
         "Number":"512",
         "Complement":"27 andar",
         "ZipCode":"12345987",
         "City":"São Paulo",
         "State":"SP",
         "Country":"BRA",
         "District":"Alphaville"
      }
   },
   "Payment":{  
      "Provider":"Simulado",
      "Type":"CreditCard",
      "Amount":10000,
      "Currency":"BRL",
      "Country":"BRA",
      "Installments":1,
      "Interest":"ByMerchant",
      "Capture":true,
      "Authenticate":false,
      "Recurrent":false,
      "SoftDescriptor":"Mensagem",
      "CreditCard":{  
         "CardNumber":"4551870000000181",
         "Holder":"Nome do Portador",
         "ExpirationDate":"12/2021",
         "SecurityCode":"123",
         "Brand":"Visa",
         "SaveCard":true,
         "Alias":"",
       },
      "Credentials":{  
         "Code":"9999999",
         "Key":"D8888888",
         "Password":"LOJA9999999",
         "Username":"#Braspag2018@NOMEDALOJA#",
         "Signature":"001"
      },
      "ExtraDataCollection":[  
         {  
            "Name":"NomeDoCampo",
            "Value":"ValorDoCampo"
         }
      ]
   }
}
--verbose

Requisição

AmbienteMétodoEndpoint
Sandboxhttps://apisandbox.braspag.com.br/v2/sales/
Produçãohttps://api.braspag.com.br/v2/sales/
{  
   "MerchantOrderId":"2017051001",
   "Customer":{  
      "Name":"Aline de Souza",
      "Identity":"12345678909",
      "IdentityType":"CPF",
      "Email":"[email protected]",
      "Birthdate":"1991-01-02",
      "IpAddress":"127.0.0.1",
      "Address":{  
         "Street":"Rua das Rosas",
         "Number":"123",
         "Complement":"apartamento 101",
         "ZipCode":"12345987",
         "City":"São Paulo",
         "State":"SP",
         "Country":"BRA",
         "District":"Alphaville"
      }
   },
   "Payment":{  
      "Provider":"Simulado",
      "Type":"CreditCard",
      "Amount":10000,
      "Currency":"BRL",
      "Country":"BRA",
      "Installments":1,
      "Capture":true,
      "Authenticate":false,
      "Recurrent":false,
      "SoftDescriptor":"Mensagem",
      "CreditCard":{  
         "CardNumber":"4091688625337641",
         "Holder":"Nome do Portador",
         "ExpirationDate":"12/2035",
         "SecurityCode":"333",
         "Brand":"Visa",
         "SaveCard":true,
         "Alias":"apelido-do-cartao"
       }
   }
}

Parâmetros no cabeçalho (header)

Parâmetros no corpo (body)

A tabela abaixo destaca os principais parâmetros da requisição. Para a lista completa, consulte o exemplo da transação de cartão de crédito completa.

PropriedadeDescriçãoTipoTamanhoObrigatório?
Payment.ProviderNome do provedor do meio de pagamento.texto15Sim
Payment.TypeTipo do meio de pagamento.texto100Sim
Payment.AmountValor do pedido, em centavos.número15Sim
Payment.InstallmentsNúmero de parcelas.número2Sim
Payment.CreditCard.CardNumberToken no Cartão Protegido que representa os dados do cartão.GUID36xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Payment.CreditCard.HolderNome do comprador impresso no cartão. Obs.: Regras de tamanho do campo podem variar de acordo com a adquirente.texto25Sim
Payment.CreditCard.ExpirationDateData de validade impressa no cartão, no formato MM/AAAA.texto7Sim
Payment.CreditCard.CardNumberNúmero do cartão do comprador.número19Sim
Payment.CreditCard.SecurityCodeCódigo de segurança impresso no verso do cartão. Para processar vendas sem o CVV, é necessário solicitar liberação na adquirente.texto4Não
Payment.CreditCard.BrandBandeira do cartão.texto10Sim
Payment.CreditCard.SaveCard"true" - para salvar o cartão.
"false" - para não salvar o cartão.
booleano-Default: false
Payment.CreditCard.AliasAlias (apelido) do cartão de crédito.texto64Não

Resposta

{  
     "Payment": {
        "Provider": "Simulado",
        "Type": "CreditCard",
        "Amount": 10000,
        "Currency": "BRL",
        "Country": "BRA",
        "Installments": 1,
        "Capture": true,
        "Authenticate": false,
        "Recurrent": false,
        "SoftDescriptor": "Mensagem",
        "CreditCard": {
            "CardToken":"250e7c7c-5501-4a7c-aa42-a33d7ad61167",
            "SecurityCode":"123",
            "Brand":"Visa"
            },
    "ProofOfSale": "124305",
    "AcquirerTransactionId": "0511030124305",
    "AuthorizationCode": "065964",
    "PaymentId": "23cd8bf5-2251-4991-9042-533ff5608788",
    "Type": "CreditCard",
    "Amount": 10000,
    "ReceivedDate": "2017-05-11 15:01:24",
    "Currency": "BRL",
    "Country": "BRA",
    "Provider": "Simulado",
    "ReasonCode": 0,
    "ReasonMessage": "Successful",
    "Status": 1,
    "ProviderReturnCode": "4",
    "ProviderReturnMessage": "Operation Successful"
  }
}

Confira a seguir os principais retornos da API:

PropriedadeDescriçãoTipoTamanhoFormato
AcquirerTransactionIdId da transação no provedor de meio de pagamento.texto40texto alfanumérico
ProofOfSaleNúmero do comprovante de venda.texto20texto alfanumérico
AuthorizationCodeCódigo de autorização.texto300texto alfanumérico
PaymentIdCampo identificador do pedido.GUID36xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
ReceivedDateData em que a transação foi recebida.texto19AAAA-MM-DD HH:mm:SS
ReasonCodeCódigo de retorno da API para indicar sucesso ou erro na operação.texto32texto alfanumérico
ReasonMessageMensagem correspondente ao ReasonCode.texto512texto alfanumérico
StatusStatus da transação. Veja a lista completa de Status da Transação.byte2Ex.: 1
ProviderReturnCodeCódigo retornado pelo provedor do meio de pagamento (adquirente ou emissor).texto3257
ProviderReturnMessageMensagem retornada pelo provedor do meio de pagamento (adquirente ou emissor).texto512Transação Aprovada