{
  "info": {
    "_postman_id": "credit-collection-001",
    "name": "Remit-Core CREDIT",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "remitBaseUrl",
      "value": "https://remit-core.ipt-merch.com",
      "type": "default"
    },
    {
      "key": "remitApiKey",
      "value": "1015a936-1941-427a-93ce-beb2ac448a0e",
      "type": "default"
    }
  ],
  "item": [
    {
      "name": "Success",
      "item": [
        {
          "name": "1. /convert (optional step)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Api-Key",
                "value": "{{remitApiKey}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"senderCurrencyCode\": \"RUB\",\n  \"senderCountry\": \"RUS\",\n  \"receiverCurrencyCode\": \"UZS\",\n  \"receiverCountry\": \"UZB\",\n  \"senderAmount\": 10000\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{remitBaseUrl}}/v1/convert",
              "host": [
                "{{remitBaseUrl}}"
              ],
              "path": [
                "v1",
                "convert"
              ]
            }
          },
          "response": []
        },
        {
          "name": "2. /info/v1/get_banks (optional step, PHONE target only)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Api-Key",
                "value": "{{remitApiKey}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"phoneNumber\": \"+998901234567\",\n  \"receiverCountry\": \"UZB\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{remitBaseUrl}}/info/v1/get_banks",
              "host": [
                "{{remitBaseUrl}}"
              ],
              "path": [
                "info",
                "v1",
                "get_banks"
              ]
            }
          },
          "response": []
        },
        {
          "name": "3. /register (sender amount, target CARD_PAN, minimal data)",
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "let response = pm.response.json();",
                  "",
                  "console.log('Full response:', JSON.stringify(response));",
                  "",
                  "if (response && response.result && response.result.transferId) {",
                  "    pm.collectionVariables.set('lastTransferId', response.result.transferId);",
                  "    pm.collectionVariables.set('lastExternalId', response.result.externalTransferId);",
                  "    console.log('lastTransferId saved:', response.result.transferId);",
                  "    console.log('lastExternalId saved:', response.result.externalTransferId);",
                  "} else {",
                  "    console.log('ERROR: transferId not found in response');",
                  "}"
                ]
              }
            }
          ],
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Api-Key",
                "value": "{{remitApiKey}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"transferType\": \"CREDIT\",\n  \"externalTransferId\": \"{{$randomUUID}}\",\n  \"transferData\": {\n    \"senderCurrencyCode\": \"RUB\",\n    \"senderCountry\": \"RUS\",\n    \"receiverCountry\": \"UZB\",\n    \"senderAmount\": 10000,\n    \"receiverCurrencyCode\": \"UZS\"\n  },\n  \"target\": {\n    \"paymentInstrumentType\": \"CARD_PAN\",\n    \"cardPan\": \"9876543210987654\"\n  },\n  \"sender\": {\n    \"firstName\": \"IVAN\",\n    \"lastName\": \"PETROV\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{remitBaseUrl}}/v1/register",
              "host": [
                "{{remitBaseUrl}}"
              ],
              "path": [
                "v1",
                "register"
              ]
            }
          },
          "response": []
        },
        {
          "name": "3. /register (receiver amount, target CARD_PAN)",
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "let response = pm.response.json();",
                  "",
                  "console.log('Full response:', JSON.stringify(response));",
                  "",
                  "if (response && response.result && response.result.transferId) {",
                  "    pm.collectionVariables.set('lastTransferId', response.result.transferId);",
                  "    pm.collectionVariables.set('lastExternalId', response.result.externalTransferId);",
                  "    console.log('lastTransferId saved:', response.result.transferId);",
                  "    console.log('lastExternalId saved:', response.result.externalTransferId);",
                  "} else {",
                  "    console.log('ERROR: transferId not found in response');",
                  "}"
                ]
              }
            }
          ],
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Api-Key",
                "value": "{{remitApiKey}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"transferType\": \"CREDIT\",\n  \"externalTransferId\": \"{{$randomUUID}}\",\n  \"clientId\": \"test_client_id\",\n  \"transferData\": {\n    \"senderCurrencyCode\": \"RUB\",\n    \"senderCountry\": \"RUS\",\n    \"receiverCountry\": \"UZB\",\n    \"receiverAmount\": 12332233,\n    \"receiverCurrencyCode\": \"UZS\",\n    \"reason\": \"Business payment\"\n  },\n  \"target\": {\n    \"paymentInstrumentType\": \"CARD_PAN\",\n    \"cardPan\": \"9876543210987654\"\n  },\n  \"source\": {\n    \"paymentInstrumentType\": \"ACCOUNT\",\n    \"accountNumber\": \"40817810099910004312\"\n  },\n  \"sender\": {\n    \"firstName\": \"IVAN\",\n    \"lastName\": \"PETROV\",\n    \"middleName\": \"IVANOVICH\",\n    \"birthday\": \"1975-10-12\",\n    \"birthPlace\": \"Moscow\",\n    \"address\": \"Tverskaya str., 7, Moscow\"\n   }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{remitBaseUrl}}/v1/register",
              "host": [
                "{{remitBaseUrl}}"
              ],
              "path": [
                "v1",
                "register"
              ]
            }
          },
          "response": []
        },
        {
          "name": "3. /register (sender amount, target PHONE)",
          "event": [
            {
              "listen": "test",
              "script": {
                "type": "text/javascript",
                "exec": [
                  "let response = pm.response.json();",
                  "",
                  "console.log('Full response:', JSON.stringify(response));",
                  "",
                  "if (response && response.result && response.result.transferId) {",
                  "    pm.collectionVariables.set('lastTransferId', response.result.transferId);",
                  "    pm.collectionVariables.set('lastExternalId', response.result.externalTransferId);",
                  "    console.log('lastTransferId saved:', response.result.transferId);",
                  "    console.log('lastExternalId saved:', response.result.externalTransferId);",
                  "} else {",
                  "    console.log('ERROR: transferId not found in response');",
                  "}"
                ]
              }
            }
          ],
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Api-Key",
                "value": "{{remitApiKey}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"transferType\": \"CREDIT\",\n  \"externalTransferId\": \"{{$randomUUID}}\",\n  \"clientId\": \"test_client_id\",\n  \"transferData\": {\n    \"senderCurrencyCode\": \"RUB\",\n    \"senderCountry\": \"RUS\",\n    \"receiverCountry\": \"UZB\",\n    \"senderAmount\": 10000,\n    \"receiverCurrencyCode\": \"UZS\"\n  },\n  \"target\": {\n    \"paymentInstrumentType\": \"PHONE\",\n    \"phoneNumber\": \"+998901234567\",\n    \"bankLabel\": \"UZB\"\n  },\n   \"sender\": {\n    \"firstName\": \"IVAN\",\n    \"lastName\": \"PETROV\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{remitBaseUrl}}/v1/register",
              "host": [
                "{{remitBaseUrl}}"
              ],
              "path": [
                "v1",
                "register"
              ]
            }
          },
          "response": []
        },
        {
          "name": "4. /v1/get_status (by transferId)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Api-Key",
                "value": "{{remitApiKey}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"transferId\": \"{{lastTransferId}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{remitBaseUrl}}/v1/get_status",
              "host": [
                "{{remitBaseUrl}}"
              ],
              "path": [
                "v1",
                "get_status"
              ]
            }
          },
          "response": []
        },
        {
          "name": "4. /v1/get_status (by externalTransferId)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Api-Key",
                "value": "{{remitApiKey}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"externalTransferId\": \"{{lastExternalId}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{remitBaseUrl}}/v1/get_status",
              "host": [
                "{{remitBaseUrl}}"
              ],
              "path": [
                "v1",
                "get_status"
              ]
            }
          },
          "response": []
        },
        {
          "name": "5. /process",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Api-Key",
                "value": "{{remitApiKey}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"transferId\": \"{{lastTransferId}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{remitBaseUrl}}/v1/process",
              "host": [
                "{{remitBaseUrl}}"
              ],
              "path": [
                "v1",
                "process"
              ]
            }
          },
          "response": []
        },
        {
          "name": "6. /v1/get_status (after process)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Api-Key",
                "value": "{{remitApiKey}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"transferId\": \"{{lastTransferId}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{remitBaseUrl}}/v1/get_status",
              "host": [
                "{{remitBaseUrl}}"
              ],
              "path": [
                "v1",
                "get_status"
              ]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Errors",
      "item": [
        {
          "name": "/register (wrong route - receiverCountry AUT)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Api-Key",
                "value": "{{remitApiKey}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"transferType\": \"CREDIT\",\n  \"externalTransferId\": \"{{$randomUUID}}\",\n  \"clientId\": \"test_client_id\",\n  \"transferData\": {\n    \"senderCurrencyCode\": \"RUB\",\n    \"senderCountry\": \"RUS\",\n    \"receiverCountry\": \"AUT\",\n    \"senderAmount\": 10000,\n    \"receiverCurrencyCode\": \"USD\",\n    \"reason\": \"Business payment\"\n  },\n  \"target\": {\n    \"paymentInstrumentType\": \"CARD_PAN\",\n    \"cardPan\": \"9876543210987654\"\n  },\n  \"sender\": {\n    \"firstName\": \"IVAN\",\n    \"lastName\": \"PETROV\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{remitBaseUrl}}/v1/register",
              "host": [
                "{{remitBaseUrl}}"
              ],
              "path": [
                "v1",
                "register"
              ]
            }
          },
          "response": []
        },
        {
          "name": "/register (reach limit - senderAmount too large)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Api-Key",
                "value": "{{remitApiKey}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"transferType\": \"CREDIT\",\n  \"externalTransferId\": \"{{$randomUUID}}\",\n  \"clientId\": \"test_client_id\",\n  \"transferData\": {\n    \"senderCurrencyCode\": \"RUB\",\n    \"senderCountry\": \"RUS\",\n    \"receiverCountry\": \"UZB\",\n    \"senderAmount\": 9000000000000,\n    \"receiverCurrencyCode\": \"UZS\",\n    \"reason\": \"Business payment\"\n  },\n  \"target\": {\n    \"paymentInstrumentType\": \"CARD_PAN\",\n    \"cardPan\": \"9876543210987654\"\n  },\n  \"sender\": {\n    \"firstName\": \"IVAN\",\n    \"lastName\": \"PETROV\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{remitBaseUrl}}/v1/register",
              "host": [
                "{{remitBaseUrl}}"
              ],
              "path": [
                "v1",
                "register"
              ]
            }
          },
          "response": []
        },
        {
          "name": "/register (wrong token)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Api-Key",
                "value": "39fbbeac-2150-4832-9838-5089a9db3edb",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"transferType\": \"CREDIT\",\n  \"externalTransferId\": \"{{$randomUUID}}\",\n  \"clientId\": \"test_client_id\",\n  \"transferData\": {\n    \"senderCurrencyCode\": \"RUB\",\n    \"senderCountry\": \"RUS\",\n    \"receiverCountry\": \"UZB\",\n    \"senderAmount\": 10000,\n    \"receiverCurrencyCode\": \"UZS\",\n    \"reason\": \"Business payment\"\n  },\n  \"target\": {\n    \"paymentInstrumentType\": \"CARD_PAN\",\n    \"cardPan\": \"9876543210987654\"\n  },\n  \"sender\": {\n    \"firstName\": \"IVAN\",\n    \"lastName\": \"PETROV\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{remitBaseUrl}}/v1/register",
              "host": [
                "{{remitBaseUrl}}"
              ],
              "path": [
                "v1",
                "register"
              ]
            }
          },
          "response": []
        },
        {
          "name": "/register (validation - invalid transferType)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Api-Key",
                "value": "{{remitApiKey}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"transferType\": \"CREDI\",\n  \"externalTransferId\": \"{{$randomUUID}}\",\n  \"transferData\": {\n    \"senderCurrencyCode\": \"RUB\",\n    \"senderCountry\": \"RUS\",\n    \"receiverCountry\": \"UZB\",\n    \"senderAmount\": 10000,\n    \"receiverCurrencyCode\": \"UZS\"\n  },\n  \"target\": {\n    \"paymentInstrumentType\": \"CARD_PAN\",\n    \"cardPan\": \"9876543210987654\"\n  },\n  \"sender\": {\n    \"firstName\": \"IVAN\",\n    \"lastName\": \"PETROV\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{remitBaseUrl}}/v1/register",
              "host": [
                "{{remitBaseUrl}}"
              ],
              "path": [
                "v1",
                "register"
              ]
            }
          },
          "response": []
        },
        {
          "name": "/register (validation - missing required field sender.firstName)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Api-Key",
                "value": "{{remitApiKey}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"transferType\": \"CREDIT\",\n  \"externalTransferId\": \"{{$randomUUID}}\",\n  \"transferData\": {\n    \"senderCurrencyCode\": \"RUB\",\n    \"senderCountry\": \"RUS\",\n    \"receiverCountry\": \"UZB\",\n    \"senderAmount\": 10000,\n    \"receiverCurrencyCode\": \"UZS\"\n  },\n  \"target\": {\n    \"paymentInstrumentType\": \"CARD_PAN\",\n    \"cardPan\": \"9876543210987654\"\n  },\n  \"sender\": {\n    \"lastName\": \"PETROV\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{remitBaseUrl}}/v1/register",
              "host": [
                "{{remitBaseUrl}}"
              ],
              "path": [
                "v1",
                "register"
              ]
            }
          },
          "response": []
        },
        {
          "name": "/process (transfer not found - code 3054)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "X-Api-Key",
                "value": "{{remitApiKey}}",
                "type": "text"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"transferId\": \"01990610-f6fb-72fd-84c1-ff8cf5840599\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{remitBaseUrl}}/v1/process",
              "host": [
                "{{remitBaseUrl}}"
              ],
              "path": [
                "v1",
                "process"
              ]
            }
          },
          "response": []
        }
      ]
    }
  ]
}