Pré Autorização da transação do Safelink.
Pre Authorization
A Pré Autorização consiste em checar os dados do cartão, verificando se os mesmos são válidos e reservando o limite/saldo no valor do Safelink para que a transação possa ser efetuada. Como também, verifica os dados do cliente checando se são válidos para garantir uma transação segura.
O usuário deve se atentar nas regras a seguir no momento em que for preencher os campos:
-
Regra do Produto:
Deve ser inserido o nome produto que está sendo utilizando ao chamar a rota, no campo "product". Temos duas opções de preenchimento, sendo elas: PIXCOMMERCE e PARCELACONTA.
Este campo deve ser preenchido apenas com uma dessas opções, obrigatoriamente. Caso contrário, será retornada uma mensagem de erro. -
Hash Itens:
Caso o seu Safelink tenha produtos, deve ser feito a conversão do Json dos itens para Base64, depois para string.
Exemplo de Json do Hash Itens:{ "max_installments":"1", "qtdMaxParcelas":"12", "flag_frete":true, "valor_frete":5.00, "items":[ { "item_id":"001", "item_quantity":1, "item_name":"Item de Exemplo", "item_discount":0, "item_description":"Descrição do Item", "item_price":7.5 }, { "item_id":"007", "item_quantity":1, "item_name":"Item 2", "item_discount":0, "item_description":"Descrição do Item 2", "item_price":7.5 } ], "dados_cliente":{ "nome":"Nome Cliente", "cpf_cnpj":"12312312312", "email":"", "celular":"5585999999999", "cep":"60123-123", "logradouro":"Rua Exemplo", "numero":"123", "bairro":"Bairro Exemplo", "cidade":"Cidade Exemplo", "estado":"Estado Sigla", "complemento":"Complemento Exemplo", "ponto_referencia":"Ponto de Referencia Exemplo" } }
Ao converter para Base64 deve ficar destá forma:
ewogICJtYXhfaW5zdGFsbG1lbnRzIjoiMSIsCiAgInF0ZE1heFBhcmNlbGFzIjoiMTIiLAogICJmbGFnX2ZyZXRlIjp0cnVlLAogICJ2YWxvcl9mcmV0ZSI6NS4wMCwKICAiaXRlbXMiOlsKICAgIHsKICAgICAgIml0ZW1faWQiOiIwMDEiLAogICAgICAiaXRlbV9xdWFudGl0eSI6MSwKICAgICAgIml0ZW1fbmFtZSI6Ikl0ZW0gZGUgRXhlbXBsbyIsCiAgICAgICJpdGVtX2Rpc2NvdW50IjowLAogICAgICAiaXRlbV9kZXNjcmlwdGlvbiI6IkRlc2NyacOnw6NvIGRvIEl0ZW0iLAogICAgICAiaXRlbV9wcmljZSI6Ny41CiAgICB9LAogICAgewogICAgICAiaXRlbV9pZCI6IjAwNyIsCiAgICAgICJpdGVtX3F1YW50aXR5IjoxLAogICAgICAiaXRlbV9uYW1lIjoiSXRlbSAyIiwKICAgICAgIml0ZW1fZGlzY291bnQiOjAsCiAgICAgICJpdGVtX2Rlc2NyaXB0aW9uIjoiRGVzY3Jpw6fDo28gZG8gSXRlbSAyIiwKICAgICAgIml0ZW1fcHJpY2UiOjcuNQogICAgfQogIF0sCiAgImRhZG9zX2NsaWVudGUiOnsKICAgICJub21lIjoiTm9tZSBDbGllbnRlIiwKICAgICJjcGZfY25waiI6IjEyMzEyMzEyMzEyIiwKICAgICJlbWFpbCI6IiIsCiAgICAiY2VsdWxhciI6IjU1ODU5OTk5OTk5OTkiLAogICAgImNlcCI6IjYwMTIzLTEyMyIsCiAgICAibG9ncmFkb3VybyI6IlJ1YSBFeGVtcGxvIiwKICAgICJudW1lcm8iOiIxMjMiLAogICAgImJhaXJybyI6IkJhaXJybyBFeGVtcGxvIiwKICAgICJjaWRhZGUiOiJDaWRhZGUgRXhlbXBsbyIsCiAgICAiZXN0YWRvIjoiRXN0YWRvIFNpZ2xhIiwKICAgICJjb21wbGVtZW50byI6IkNvbXBsZW1lbnRvIEV4ZW1wbG8iLAogICAgInBvbnRvX3JlZmVyZW5jaWEiOiJQb250byBkZSBSZWZlcmVuY2lhIEV4ZW1wbG8iCiAgfQp9
-
Request JSON:
Este campo contém algumas informações do Safelink em JSON, abaixo temos um exemplo de como deve ser montado e preenchido este campo.{ "address":"Rua Exemplo", "amount":20, "brand":"", "card_holder_name":"", "card_token":"12345Q9RQUW6Z123453dJ7NpO1234", "city":"Cidade de Exemplo", "client_email":"", "client_name":"Nome Cliente", "client_phone":"5585999999999", "complement":"Apto 123", "cpf_cnpj_holder":"12312312312", "description":"", "expiration_month":"", "expiration_year":"", "hash_itens":"ewogICJtYXhfaW5zdGFsbG1lbnRzIjoiMSIsCiAgInF0ZE1heFBhcmNlbGFzIjoiMTIiLAogICJmbGFnX2ZyZXRlIjp0cnVlLAogICJ2YWxvcl9mcmV0ZSI6NS4wMCwKICAiaXRlbXMiOlsKICAgIHsKICAgICAgIml0ZW1faWQiOiIwMDEiLAogICAgICAiaXRlbV9xdWFudGl0eSI6MSwKICAgICAgIml0ZW1fbmFtZSI6Ikl0ZW0gZGUgRXhlbXBsbyIsCiAgICAgICJpdGVtX2Rpc2NvdW50IjowLAogICAgICAiaXRlbV9kZXNjcmlwdGlvbiI6IkRlc2NyacOnw6NvIGRvIEl0ZW0iLAogICAgICAiaXRlbV9wcmljZSI6Ny41CiAgICB9LAogICAgewogICAgICAiaXRlbV9pZCI6IjAwNyIsCiAgICAgICJpdGVtX3F1YW50aXR5IjoxLAogICAgICAiaXRlbV9uYW1lIjoiSXRlbSAyIiwKICAgICAgIml0ZW1fZGlzY291bnQiOjAsCiAgICAgICJpdGVtX2Rlc2NyaXB0aW9uIjoiRGVzY3Jpw6fDo28gZG8gSXRlbSAyIiwKICAgICAgIml0ZW1fcHJpY2UiOjcuNQogICAgfQogIF0sCiAgImRhZG9zX2NsaWVudGUiOnsKICAgICJub21lIjoiTm9tZSBDbGllbnRlIiwKICAgICJjcGZfY25waiI6IjEyMzEyMzEyMzEyIiwKICAgICJlbWFpbCI6IiIsCiAgICAiY2VsdWxhciI6IjU1ODU5OTk5OTk5OTkiLAogICAgImNlcCI6IjYwMTIzLTEyMyIsCiAgICAibG9ncmFkb3VybyI6IlJ1YSBFeGVtcGxvIiwKICAgICJudW1lcm8iOiIxMjMiLAogICAgImJhaXJybyI6IkJhaXJybyBFeGVtcGxvIiwKICAgICJjaWRhZGUiOiJDaWRhZGUgRXhlbXBsbyIsCiAgICAiZXN0YWRvIjoiRXN0YWRvIFNpZ2xhIiwKICAgICJjb21wbGVtZW50byI6IkNvbXBsZW1lbnRvIEV4ZW1wbG8iLAogICAgInBvbnRvX3JlZmVyZW5jaWEiOiJQb250byBkZSBSZWZlcmVuY2lhIEV4ZW1wbG8iCiAgfQp9", "installments":1, "ip":"", "neighborhood":"Bairro Exemplo", "number":123, "product":"PIXCOMMERCE", "reference":"SA912345o2cbU", "request_json":"", "state":"Sigla Estado", "threedsecure":{ "device":{ "colorDepth":1, "screenHeight":912, "screenWidth":432 }, "userAgent":"" }, "url_failure":"", "url_success":"", "usuario_id":0, "zip_code":"60123-123" }
É necessário passar o Token API do estabelecimento no header "Authorization", e no "Content-Type" preenchê-lo com o valor do conteúdo que está sendo enviado, neste caso usamos "application/json".
Abaixo temos um exemplo de como inserir estes dados usando JSON.
{
"Content-Type": "application/json",
"Authorization": "Bearer 125SEBXXXXXX20150821"
}