# TADA Payments [toc] # PayIn ## SPEI O SPEI® (Sistema Internacional de Pagamentos Eletrônicos) foi desenvolvido pelo Banco do México e permite que os mexicanos façam pagamentos eletrônicos instantâneos. Este sistema foi desenvolvido para facilitar os pagamentos entre instituições financeiras, além de permitir que elas ofereçam serviços de pagamento de e-commerce seguros e eficientes aos consumidores mexicanos. Através do SPEI você está oferecendo a qualquer pessoa que tenha um banco no México uma solução 24 horas, 7 dias por semana, para fazer transações com confirmação de pagamento em tempo real. Como funciona? ![image alt](https://www.banxico.org.mx/multimedia/EOTCINCen.jpg) O banco emissor precisará de dados de identificação como conta chave(número da conta), o número do cartão ou o número de telefone qualquer um desses dados precisam ser preenchido depois disso eles vão pedir o valor não necessariamente tem que ser um valor fixo, mas no final do dia você tem que colocá-lo e o nome do dono quem é essa conta, embora não seja de tudo obrigatório e pode haver outros dados envolvidos Depois de inserir esses dados o banco emissor envia uma ordem que o banco do méxico vai receber através do sistema de SPEN para fazer a liquidação com o banco beneficiário. Quando é feita a liquidação, o pagamento já foi aprovado e o valor é creditado para o beneficiário. Todo esse processo pode acontecer quase imediatamente e em média demora até 30 segundos. Entretanto algumas instituições financeiras podem levar até 24 horas nesse tráfego. O tempo vai variar de acordo com a instituição financeira. O número de telefone de destino ou o número dos cartões são dados que nem todos os bancos e todas as instituições financeiras aceitam. A conta chave, como identificação é aceita em todas instituições financeiras **Geração de PayIn SPEI** É feito atraves do endpoint POST /api/boxPayment, gerando uma url para o site da TADA onde o serviço de payIn será feito ```` BODY: { "id_merchant":"MXXXXXXXXX", "api_token":"$2y$10$EOTL/cwUv4IXXXXXXXXXXXXXXXXXXME/gUWkHi1jz52xIfN6xQIJ1W" "country_code" : "PER", "currency_code" : "PEN", "amount" : 250.80, "concept" : "Concepto de la transaccion", "url_logo" : "http://control.tadapayments.com/assets/images/logotipo_singrupo.png", "name_store" : "Store's name", "id_out_transaction" : "id-0001", "url_send_data" : "wwww.mysite.com/callback.php" "name_client" : "Jesus", "lastname_client" : "Labra", "phone_client" : "7721402519", "email_client" : "jlabraibarra@gmail.com", "spei" : true, } ```` ```` Resposta: { "status": "success", "msg": "Successfully created checkout box.", "url": "https://control.tadapayments.com/box/payment?ref=1GuxvxQMtE" } ```` ![image alt](http://control.tadapayments.com/images/boxPayment.png) :::info - possivel mudar o logo no canto superior esquerdo para um da Transfero ::: sempre que um pagamento é feito será enviado um callback para uma url de nossa escolha com as seguintes informações: ``` { "id_out_transaction":"id-0001", "id_tx":"XXXXXXXXXX00000XXX" "account":"XXXXXXXXXX00000XXX", "sign": "31004a4e46bb90496172a63b72d176f1" } ``` :::info - ``sign`` é a assinatura para garantir que os dados que estamos recebendo são do sistema TADA - ``id_out_transaction`` funciona como nosso ``referenceId`` onde passamos esse campo no body do request. ::: :::warning Na documentação tem 2 outros tipos de serviços ``payment in cash`` e ``pago en línea`` que podem ser adicionados no body da requisição, mas não está claro o funcionamento deles. Seguem o mesmo fluxo do SPEI ::: :::danger Ainda não foi possivel testar esse fluxo, pois a conta de sandbox não tem permissão para usar esse endpoint. ::: **Possível Fluxo no Caas** Usando os endpoint atuais da api do caas {%figma https://www.figma.com/file/JlEvAphJ0pjssHMEn0EBaL/Caas-TADA?node-id=0%3A1 %} ## Credit Card **Credit Card** É feito atraves do endpoint POST /api/fe_sb/v1/cardPayment, com as informações do cartão, criando um pagamento de credito ou debito ```` BODY: { "id_merchant":"MXXXXXXXXX", "api_token":"$2y$10$EOTL/cwUv4IXXXXXXXXXXXXXXXXXXME/gUWkHi1jz52xIfN6xQIJ1W", "Quantity":2, "description":"App Development", "unitPrice":125.95, "amount":251.90, "Id":0, "pan":"4027XXXXXXXX8677", "cardholderName":"Tada Payments", "cvv2":"101", "expDate":"2412", "email":"contact@tadapayments.com", "sendTicket":true } ```` ```` Resposta: { "status": "success", "step": null, "affiliation_id": "70XXXX8", "orderId":"76XXX64", "authnum":"8XXX80", "transactionId":"84XXX85", "Base64Pdf": "(Very long chain)", "url": null } ```` :::info - Possível cancelar ou devolver o pagamento - Confirmação de pagamento por polling ::: **Card Link** É feito através do endpoint POST /api/smartlinks/create, onde será enviado por email, um link para preencher os dados do cartão para a criação de um pagamento ```` BODY: { "id_merchant":"MXXXXXXXXX", "api_token":"$2y$10$EOTL/cwUv4IXXXXXXXXXXXXXXXXXXME/gUWkHi1jz52xIfN6xQIJ1W", "amount": 99.99, "email":"email@domain.com" } ```` ```` Resposta: { "status": "success", "msg": "Solicitud de pago creada y enviada con exito", "reference": "4373a5d7-66e5a183c503", "url": "http://control.tadapayments.com0/request/payment/4373a5d7-66e5a183c503" } ```` :::warning - ``url`` não está especificado o que é nesse contexto ::: ![image alt](http://control.tadapayments.com/images/email_smartlink.png) ![image alt](http://control.tadapayments.com/images/email_smartlink_02.png) :::info - Possível cancelar ou devolver o pagamento - Confirmação de pagamento por polling ::: # PayOut **Create PayOut** É feito atraves do endpoint POST /v1/payments ```` BODY: { "cardToken": "561c2cd0639e44cd94d6551f0d939efc", "merchantId": "749a8c7ebc79428383d9eac99f409c91", "currency": "MXN", "fee": 15, "amount": { "subtotalIva": 0, "subtotalIva0": 1500, "ice": 0, "iva": 0 }, "payee": { "alias": "John Doe", "bankAccountNumber": "019293439102921211", "email": "some.mail@mail.com" } } ```` ```` Resposta: { "transactionReference": "861ba8f4-0783-43bb-93e7-6a0954832ed6", "amount": 1500, "currency": "MXN", "metadata": null, "ticketNumber": "199362112211702042", "type": "charge", "date": "2021-06-05 15:54:13" } ```` **OU** É feito atraves do endpoint POST /v1/payees ```` BODY: { "payments": [ { "amount": 140, "description": "Description for this paymentQWE", "payee": { "id": 1234, "nickname": "NicknameISRA" } } ] } ```` ```` Resposta: { "payments": [ { "id": 506, "dateCreated": "2020-02-10T15:01:09.880183Z", "lastUpdated": "2020-02-10T15:01:09.880216Z", "status": "CREATED", "statusReason": null, "payee": { "id": 325, "status": "ACCEPTED", "fullName": "William Ferrell", "email": "willferrell@differently.net", "birthDate": "1967-07-16T00:00:00Z", "mobileNumber": "987786321333", "phoneNumber": "", "idNumber": "9875613", "idType": { "id": 15, "name": "RFC" }, "gender": "MALE", "maritalStatus": "DIVORCED", "taxId": "", "address": "Los Alerces 876", "city": { "id": 1746, "name": "Guadalajara", "country": { "id": 2, "name": "Mexico", "code": "MEX" } } }, "amount": 1567, "notes": null, "description": "Payment for Will", "transactionStatusChanges": [] }, ```` :::info - atualização das mudança de status feitas por polling ::: :::warning - Não está claro na documentação qual o cenario de uso para os 2 endpoints ::: # Duvidas ## PayIn **BoxPayment** como funciona os seguintes parâmetros no boxPayment ``Payment in cash`` e ``Pago en linea (Multiples paises).`` Amount é em dolar igual ao cartão de credito ou o valor na moeda passado no parametro ``currency_code`` Como testar o paymentBox em DEV ## PayOut Qual a diferença entre os endpoint de criação de payments ``https://{{domain}}/v1/payees/payee`` e ``https://{{domain}}/v1/payments`` É obrigatorio cadastrar ``merchantId`` para fazer payout? Após chamar a api e tiver sucesso na criação do payment eu posso assumir que foi completado, tenho que consultar em algum lugar ou possuem algum callback? Quais são os possiveis status de payOut