Utilizando o DCC (Conversor de Moedas)
O DCC (Dynamic Currency Conversion) é um conversor de moedas da adquirente Global Payments que permite que o portador de um cartão estrangeiro escolha entre pagar em reais ou em sua moeda local, convertendo o valor do pedido no momento da compra com total transparência para o comprador.
A solução é indicada para estabelecimentos que recebem pagamentos com cartões emitidos no exterior como hotéis, pousadas, polos comerciais e comércios em pontos turísticos.
Importante
Para utilizar esta funcionalidade com a autenticação padrão, o lojista deverá entrar em contato com a adquirente Global Payments e solicitar a ativação do DCC em seu estabelecimento.
Atenção
Esta funcionalidade não é compatível com transações com MPI externo.
Quando o estabelecimento possui o produto DCC habilitado, o processo de autorização é realizado em 3 etapas, explicadas a seguir:
ETAPA 1 - autorização
Na primeira etapa, quando é solicitada uma autorização com um cartão internacional, a Global Payments identifica o país do cartão e aplica a conversão de moeda seguindo os cálculos específicos de cada bandeira, retornando as informações de conversão em seguida.
Requisição
Não há diferença entre uma requisição de autorização padrão e uma de DCC.
Resposta
--header "Content-Type: application/json"
--header "RequestId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
--data-binary
{
[...]
},
"Payment": {
"ServiceTaxAmount": 0,
"Installments": 1,
"Interest": "ByMerchant",
"Capture": true,
"Authenticate": false,
"Recurrent": false,
"CreditCard": {
"CardNumber": "123412******1234",
"Holder": "Comprador Teste",
"ExpirationDate": "12/2022",
"SaveCard": false,
"Brand": "Visa"
},
"ReturnUrl": "http://www.braspag.com.br/",
"PaymentId": "fa0c3119-c730-433a-123a-a3b6dfaaad67",
"Type": "CreditCard",
"Amount": 100,
"ReceivedDate": "2018-08-23 10:46:25",
"Currency": "BRL",
"Country": "BRA",
"Provider": "GlobalPayments",
"ReasonCode": 0,
"ReasonMessage": "Successful",
"Status": 12,
"ProviderReturnCode": "0",
"ProviderReturnMessage": "Transação autorizada",
"CurrencyExchangeData": {
"Id": "fab6f3a752d700af1d50fdd19987b95df497652b",
"CurrencyExchanges": [{
"Currency": "EUR",
"ConvertedAmount": 31,
"ConversionRate": 3.218626,
"ClosingDate": "2017-03-09T00:00:00"
},
{
"Currency": "BRL",
"ConvertedAmount": 100
}
]
}
[...]
}
{
[...]
},
"Payment": {
"ServiceTaxAmount": 0,
"Installments": 1,
"Interest": "ByMerchant",
"Capture": true,
"Authenticate": false,
"Recurrent": false,
"CreditCard": {
"CardNumber": "123412******1234",
"Holder": "Comprador Teste",
"ExpirationDate": "12/2022",
"SaveCard": false,
"Brand": "Visa"
},
"ReturnUrl": "http://www.braspag.com.br/",
"PaymentId": "fa0c3119-c730-433a-123a-a3b6dfaaad67",
"Type": "CreditCard",
"Amount": 100,
"ReceivedDate": "2018-08-23 10:46:25",
"Currency": "BRL",
"Country": "BRA",
"Provider": "GlobalPayments",
"ReasonCode": 0,
"ReasonMessage": "Successful",
"Status": 12,
"ProviderReturnCode": "0",
"ProviderReturnMessage": "Transação autorizada",
"CurrencyExchangeData": {
"Id": "fab6f3a752d700af1d50fdd19987b95df497652b",
"CurrencyExchanges": [{
"Currency": "EUR",
"ConvertedAmount": 31,
"ConversionRate": 3.218626,
"ClosingDate": "2017-03-09T00:00:00"
},
{
"Currency": "BRL",
"ConvertedAmount": 100
}
]
},
[...]
}
Propriedade | Descrição | Tipo | Tamanho | Formato |
---|---|---|---|---|
AcquirerTransactionId | Id da transação no provedor de meio de pagamento. | texto | 40 | Texto alfanumérico |
ProofOfSale | Número do comprovante de venda. | texto | 20 | Texto alfanumérico |
AuthorizationCode | Código de autorização. | texto | 300 | Texto alfanumérico |
PaymentId | Campo identificador do pedido. | GUID | 36 | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
ReceivedDate | Data em que a transação foi recebida. | texto | 19 | AAAA-MM-DD HH:mm:SS |
ReasonCode | Código de retorno da operação. | texto | 32 | Texto alfanumérico |
ReasonMessage | Mensagem de retorno da operação. | texto | 512 | Texto alfanumérico |
Status | Status da transação. Veja a lista completa de Status da Transação. | byte | 2 | Ex.: 12 |
ProviderReturnCode | Código retornado pelo provedor do meio de pagamento (adquirente ou emissor). | texto | 32 | 57 |
ProviderReturnMessage | Mensagem retornada pelo provedor do meio de pagamento (adquirente ou emissor). | texto | 512 | Transação Aprovada |
CurrencyExchangeData.Id | Id da ação da troca de moeda. | Texto | 50 | 1b05456446c116374005602dcbaf8db8879515a0 |
CurrencyExchangeData.CurrencyExchanges.Currency | Moeda local do comprador/cartão de crédito. | numérico | 4 | EUR |
CurrencyExchangeData.CurrencyExchanges.ConvertedAmount | Valor convertido. | numérico | 12 | 23 |
CurrencyExchangeData.CurrencyExchanges.ConversionRate | Taxa de conversão. | numérico | 9 | 3.218626 |
CurrencyExchangeData.CurrencyExchanges.ClosingDate | Data de finalização da transação. | texto | 19 | AAAA-MM-DD HH:mm:SS |
CurrencyExchangeData.CurrencyExchanges.Currency | Código da moeda "real". | texto | 3 | BRA |
CurrencyExchangeData.CurrencyExchanges.ConvertedAmount | Valor do pedido em reais. | numérico | 12 | 100 |
ETAPA 2 - opção de pagamento
Na segunda etapa, o sistema da loja apresenta ao comprador as opções de pagar em reais ou com a moeda de seu país (moeda do cartão de crédito), seguindo as melhores práticas solicitadas pela bandeira. O texto é apresentado em inglês e o layout do site não precisa ser alterado, desde que as opções de escolha da moeda tenham as mesmas características de fonte, cor e dimensões.
Na tela da Global Payments são exibidas as opções de pagamento (em reais ou na moeda do cartão), ao lado de um resumo com os dados da compra.
ETAPA 3 - confirmação
Na terceira etapa, o sistema da loja envia a confirmação da transação com as informações da moeda escolhida pelo comprador. Neste ponto é retornada a resposta da autorização.
Segue um exemplo de confirmação da transação com a moeda escolhida pelo comprador:
Requisição
PUT/v2/sales/{PaymentId}/confirm
--request PUT " https://apisandbox.braspag.com.br/v2/sales/{PaymentId}/confirm"
--header "Content-Type: application/json"
--header "MerchantId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
--header "MerchantKey: 0123456789012345678901234567890123456789"
--header "RequestId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
--data-binary
{
"Id":"1b05456446c116374005602dcbaf8db8879515a0",
"Currency":"EUR",
"Amount":23
}
--verbose
{
"Id":"1b05456446c116374005602dcbaf8db8879515a0",
"Currency":"EUR",
"Amount":23
}
Propriedade | Descrição | Tipo | Tamanho | Obrigatório? |
---|---|---|---|---|
Id | Id da ação da troca de moeda. | texto | 50 | Sim |
Currency | Moeda selecionada pelo comprador. | numérico | 4 | Sim |
Amount | Valor convertido. | numérico | 12 | Sim |
Resposta
{
[...]
"Payment": {
"ServiceTaxAmount": 0,
"Installments": 1,
"Interest": "ByMerchant",
"Capture": false,
"Authenticate": false,
"Recurrent": false,
"CreditCard": {
"CardNumber": "123412******1234",
"Holder": "TesteDcc",
"ExpirationDate": "12/2022",
"SecurityCode": "***",
"Brand": "Visa"
},
"ProofOfSale": "20170510053219433",
"AcquirerTransactionId": "0510053219433",
"AuthorizationCode": "936403",
"SoftDescriptor": "Mensagem",
"PaymentId": "fa0c3119-c730-433a-123a-a3b6dfaaad67",
"Type": "CreditCard",
"Amount": 23,
"ReceivedDate": "2017-05-10 17:32:19",
"CapturedAmount": 23,
"CapturedDate": "2017-05-10 17:32:19",
"Currency": "BRL",
"Country": "BRA",
"Provider": "GlobalPayments",
"ReasonCode": 0,
"ReasonMessage": "Successful",
"Status": 2,
"ProviderReturnCode": "6",
"ProviderReturnMessage": "Operation Successful",
[...]
}
}
--header "Content-Type: application/json"
--header "RequestId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
--data-binary
{
[...]
"Payment": {
"ServiceTaxAmount": 0,
"Installments": 1,
"Interest": "ByMerchant",
"Capture": false,
"Authenticate": false,
"Recurrent": false,
"CreditCard": {
"CardNumber": "123412******1234",
"Holder": "TesteDcc",
"ExpirationDate": "12/2022",
"SecurityCode": "***",
"Brand": "Visa"
},
"ProofOfSale": "20170510053219433",
"AcquirerTransactionId": "0510053219433",
"AuthorizationCode": "936403",
"SoftDescriptor": "Mensagem",
"PaymentId": "fa0c3119-c730-433a-123a-a3b6dfaaad67",
"Type": "CreditCard",
"Amount": 23,
"ReceivedDate": "2017-05-10 17:32:19",
"CapturedAmount": 23,
"CapturedDate": "2017-05-10 17:32:19",
"Currency": "BRL",
"Country": "BRA",
"Provider": "GlobalPayments",
"ReasonCode": 0,
"ReasonMessage": "Successful",
"Status": 2,
"ProviderReturnCode": "6",
"ProviderReturnMessage": "Operation Successful",
[...]
}
}
Propriedade | Descrição | Tipo | Tamanho | Formato |
---|---|---|---|---|
AcquirerTransactionId | Id da transação no provedor de meio de pagamento. | texto | 40 | Texto alfanumérico |
ProofOfSale | Número do comprovante de venda. | texto | 20 | Texto alfanumérico |
AuthorizationCode | Código de autorização. | texto | 300 | Texto alfanumérico |
PaymentId | Campo identificador do pedido. | GUID | 36 | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
ReceivedDate | Data em que a transação foi recebida. | texto | 19 | AAAA-MM-DD HH:mm:SS |
ReasonCode | Código de retorno da API para indicar sucesso ou erro na operação. | texto | 32 | Texto alfanumérico |
ReasonMessage | Mensagem correspondente ao ReasonCode . | texto | 512 | Texto alfanumérico |
Status | Status da transação. Veja a lista completa de Status da Transação. | byte | 2 | Ex.: 2 |
ProviderReturnCode | Código retornado pelo provedor do meio de pagamento (adquirente ou emissor). | texto | 32 | 57 |
ProviderReturnMessage | Mensagem retornada pelo provedor do meio de pagamento (adquirente ou emissor). | texto | 512 | Transação Aprovada |
Updated 20 days ago