Tokenize and save the payment credentials for a credit card while authorizing a payment
Environment | Method | Endpoint |
---|---|---|
Sandbox | post | https://apisandbox.braspag.com.br/v2/sales/ |
Production | post | https://api.braspag.com.br/v2/sales/ |
Request
To save a credit card used in a payment, simply send the Payment.SaveCard
parameter as true in the standard authorization request.
For sandbox environment, the card number should be validate in mod10 (Luhn algorithm).
--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
Property | Description | Type | Size | Required? |
---|---|---|---|---|
Payment.Provider | Name of the payment method provider. | Text | 15 | Yes |
Payment.Type | Payment method type. | Text | 100 | Yes |
Payment.Amount | Order amount in cents. | Number | 15 | Yes |
Payment.Installments | Number of installments. | Number | 2 | Yes |
CreditCard.CardNumber | Customer’s card number. | Text | 19 | Yes |
CreditCard.Holder | Name of cardholder printed on the card. | Text | 25 | Yes |
CreditCard.ExpirationDate | Expiration date printed on the card, in the MM/YYYY format. | Text | 7 | Yes |
CreditCard.SecurityCode | Security code printed on the back of the card. | Text | 4 | Yes |
CreditCard.Brand | Card brand. | Text | 10 | Yes |
CreditCard.SaveCard | "true" - saves the card. / "false" - does not save the card. | Boolean | 10 | No (default "false") |
CreditCard.Alias | Credit card alias. | Text | 64 | No |
Response
The API will return the CreditCard.CardToken
parameter, so the merchant can save the token for future transactions with the same card.
{
[...]
},
"Payment":{
"ServiceTaxAmount": 0,
"Installments":1,
"Interest":"ByMerchant",
"Capture":true,
"Authenticate":false,
"Recurrent":false,
"CreditCard":{
"CardNumber": "455187******0181",
"Holder": "Cardholder Name",
"ExpirationDate":"12/2021",
"SaveCard": true,
"CardToken": "250e7c7c-5501-4a7c-aa42-a33d7ad61167",
"Brand":"Visa",
"Alias": "Customer1"
},
"ProofOfSale": "3519928",
"AcquirerTransactionId": "0511023519928",
"AuthorizationCode": "536934",
"PaymentId": "3af00b2d-dbd0-42d6-a669-d4937f0881da",
"Type":"CreditCard",
"Amount":10000,
"ReceivedDate": "2017-05-11 14:35:19",
"Currency":"BRL",
"Country":"BRA",
"Provider":"Simulado",
"ReasonCode": 0,
"ReasonMessage": "Successful",
"Status": 1,
"ProviderReturnCode": "4",
"ProviderReturnMessage": "Operation Successful",
[...]
}
}
Property | Description | Type | Size | Format |
---|---|---|---|---|
AcquirerTransactionId | Transaction ID of the payment method provider. | Text | 40 | Alphanumeric |
ProofOfSale | Proof of sale reference. | Text | 20 | Alphanumeric |
AuthorizationCode | Authorization code from the acquirer. | Text | 300 | Alphanumeric text |
PaymentId | Order identifier field. | GUID | 36 | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
ReceivedDate | Date the transaction was received by Braspag. | Text | 19 | YYYY-MM-DD HH:mm:SS |
ReasonCode | Operation return code. | Text | 32 | Alphanumeric |
ReasonMessage | Operation return message. | Text | 512 | Alphanumeric |
Status | Transaction status. | Byte | 2 | E.g.: 1 |
ProviderReturnCode | Code returned by the payment provider (acquirer or issuer). | Text | 32 | 57 |
ProviderReturnMessage | Message returned by the payment provider (acquirer or issuer). | Text | 512 | Transaction Approved |
CreditCard.CardToken | Cartão Protegido token, representing the card data. | GUID | 36 | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |