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)

PropriedadeDescriçãoTipoTamanhoObrigatório
MerchantIdIdentificador da loja no Gateway de Pagamentos.Text36Sim
MerchantKeyChave pública para autenticação dupla no Gateway de Pagamentos.Text40Sim
RequestIdIdentificador da requisição, usado quando a loja usa diferentes servidores para cada GET/POST/PUT.Text36Não

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