Criar uma intenção de pagamento
Uma intenção de pagamento é uma solicitação que contém os detalhes de uma transação a ser realizada, e deve ser criada para iniciar uma instância de pagamento no aplicativo RDCPass.
Para criar uma intenção de pagamento, siga as etapas abaixo:
- Adicione o seguinte intent-filter (Activity) ao arquivo AndroidManifest.xml do seu projeto:
android
<intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="text/*" /> </intent-filter>
- Implemente a função "shareRDCPass", como mostrado abaixo:
android
public void shareRDCPass(String total, String intent) { try { Intent sharingIntent = new Intent(intent); sharingIntent.setClassName("redelcom.cl.rdcpass", "redelcom.cl.rdcpass.MainActivity"); sharingIntent.putExtra("packageName", getPackageName()); sharingIntent.putExtra("className", getClass().toString().split(" ")[1]); sharingIntent.putExtra(Intent.EXTRA_TEXT, total); sharingIntent.putExtra("userTransactionId", "DEMO1234"); sharingIntent.putExtra("description", "Descripcion para tu transacción"); sharingIntent.putExtra("payment_type", "TIPO_PAGO"); sharingIntent.putExtra("request_tip", false); sharingIntent.putExtra("rdcDTE", false); ArrayList<String> arrayListUserTransactionId = new ArrayList<String>(); arrayListUserTransactionId.add("DEMO1233"); sharingIntent.putExtra("completeTransactions", arrayListUserTransactionId); startActivity(sharingIntent); } catch (Exception e) { e.printStackTrace(); } }
Você deve modificar os seguintes parâmetros levando em consideração estas especificações:
Parâmetro | Descrição | Exemplo | Tipo |
String total | Obrigatório. Valor total da transação. Aceita apenas moeda CLP e um valor numérico, sem pontos ou caracteres especiais. | 2000 | String |
String intent | Obrigatório. Corresponde ao tipo de intenção a ser solicitada. Neste caso, usaremos o parâmetro Intent.ACTION_SEND , que corresponde à criação de uma intenção de pagamento. | Intent.ACTION_SEND | String |
userTransactionId | Opcional. Você pode incluir um código de referência para a solicitação de pagamento, substituindo "DEMO1234" pelo código escolhido. | Transaction1234 | Alfanumérico |
description | Opcional. Você pode incluir uma descrição de pagamento, que será exibida na tela de pagamento. Lembre-se de substituir "Descrição para a sua transação" pela descrição desejada. | Item1 | Alfanumérico |
payment_type | Opcional. Selecione o método de pagamento a ser usado (se omitido, deve ser selecionado no POS). Você deve substituir "TIPO_PAGO". | • "CASH" • "CARD" • "WALLET" (Pagamentos por QR) • "NON_CASH" (Permite seleção no POS entre: "CARTÕES E WALLET") • "NON_WALLET" (Permite seleção no POS entre: "DINHEIRO E CARTÕES") | Alfanumérico |
request_tip | Opcional. Gerencia a solicitação de gorjeta. | true / false | Booleano. O padrão é false . |
rdcDTE | Opcional. Usa os serviços da Redelcom para gerar o documento fiscal. | true / false | Booleano. O padrão é false . |
completeTransactions | Opcional. Você deve incluí-lo se precisar consultar o último userTransactionId posteriormente para manter a conciliação nas transações feitas. | - | Alfanumérico |
- Se você deseja receber a resposta para a intenção de pagamento criada a partir do RDCPass, use o seguinte bloco de código:
android
try{ Intent intent = getIntent(); String action = intent.getAction(); JSONObject payload = new JSONObject(intent.getStringExtra(Intent.EXTRA_TEXT)); String userTransactionId = intent.getStringExtra(“userTransactionId”); if (Intent.ACTION_SEND.equals(action)) { // Define what to do with the received data “payload” } } catch (Exception e) { e.printStackTrace(); }
Campo | Descrição |
JSONObject payload = new JSONObject(intent.getStringExtra(Intent.EXTRA_TEXT)); | Permite receber a resposta de pagamento. Use isso apenas se desejar receber a resposta do RDCPass. |
String userTransactionId = intent.getStringExtra("userTransactionId"); | Se você usou um userTransactionId , inclua este campo juntamente com o identificador escolhido. Use isso apenas se desejar receber a resposta do RDCPass. |
Para visualizar um exemplo completo de resposta à criação de intenção de pagamento, consulte nosso Anexo: exemplos de resposta.