Integration Guide for Banks
[ENG] Integration Guide for Bank
[ENG] Integration Guide for Bank
  • General
    • ๐Ÿ’ฐOverview
      • Transfers between digitized entities
        • Option 1. Fast transfer
        • Option 2. Standard transfer (optional)
      • Version history
      • API change log
      • Glossary
    • ๐ŸŒCommon requirements
    • ๐Ÿ‘‰Basic use case
    • ๐Ÿ“…Integration Plan
      • Integration Plan - Business
      • Integration Plan - Technical Team
      • Multisignature
    • โ—Error messages
  • ๐Ÿ› ๏ธAPI methods
    • Authentification
      • Authorization via JWT
      • Bank authorization
      • JWT format
    • Emlpoyee
      • How to add a user to a role
      • Role management
    • Customer
      • Segments
    • Digital entity
    • Identifiers
    • Transfer
      • Multisignature for transfers
      • [optional] Callbacks
      • Category
    • Limits
    • Reconciliation
    • [optional] Branch
      • Branch access
      • How to add employee to branch
      • Filter by branch
      • Transfers (branches)
      • Branch digital entity
Powered by GitBook
On this page
  1. API methods

Transfer

PreviousIdentifiersNextMultisignature for transfers

Last updated 1 year ago

To start using transfer please . Once you have identifiers on your digital entity you may distribute them between processing and customer entities.

API provides the following ways to work with payments:

Transfer

Create payment

Transfer

Transfer

As a best practice please rely on the following transfer routes inside 1 Counterparty:

  • from identification to processing entity;

  • from bank processing entity to customer;

  • from customer to customer;

  • from processing to identification entity;

  • from customer to bank processing entity.

For external transfers (2 counterparties) the following transfer types are advised:

  • from your processing entity to a processing entity of another Counterparty;

  • from your customer counterparty to a customer of another Counterparty.

Get transfer information

Response example
{
    "guid": "37f6b441-0906-46b6-9349-e742531f4eb7",  //payment GUID
    "asset_issuer": "GC63UKIHPPR4F74IZ6BU24ZCJXHO4Y4C2KAUATDAQQFXKRW5FT6AJKYS",
    "asset_code": "UAH",
    "sender_id": "7f971dc7-0fd2-4c5c-926d-75a6d6088535",   //account_guid
    "sender_counterparty": "ac75f1a6-0abe-11ee-be56-0242ac120002",
    "sender_account_account_kind": "root",        //enum(customer, processing, emission)
    "receiver_id": "d5085e37-1a50-11ee-bd5f-3a6aa4436fee",
    "receiver_counterparty": "130a613a-d5ba-42fd-9915-ae289f392def",
    "receiver_account_account_kind": "emission",  //enum(customer, processing, emission)
    "amount": 100,
    "status": "CONFIRMED",     // enum(CREATED, CONFIRMED)
    "fee": 0,
    "stellar_info": {
        "hash": "e2302182308fad32018e57095537d7850a085ae8034df07224f8d5da79c1662d"
    },
    "created_at": "2023-08-18T12:49:33.774546Z",
    "updated_at": "2023-08-18T12:49:33.774546Z",
    "deleted_at": null
}

Using the parameter hash you can see this operation in Stellar.Expert.

Create transfer

The transfer is done with 2 steps: first, you need to create a draft record with "Create payment". When it is done a confirmation is required.

Create payment

Precondition: the sender's digital entity should have a balance before creating a transfer.

Confirm transfer

After creating a transfer you should confirm the transfer.

Before the confirmation be sure that the transfer is already created, the corresponding transfer guid should be used in the request body.

bank_guid is mandatory only for a transfer to another counterparty.

Get transfers list

If you want to get payment list you should make the following request.

๐Ÿ› ๏ธ
top-up your identification entity

Get payment

get

Get payments with filter

Path parameters
counterparty_guidstringRequired

Counterparty GUID

payment_guidstringRequired

Payment GUID

Query parameters
with_stellar_infobooleanOptional

Include stellar info

Responses
200
OK
application/json
400
json with error msg
application/json
get
GET /api/v1/counterparty/{counterparty_guid}/payments/{payment_guid} HTTP/1.1
Host: your_host
Accept: */*
{
  "amount": 1,
  "asset_code": "text",
  "asset_issuer": "text",
  "category": "text",
  "category_guid": "text",
  "created_at": "text",
  "deleted_at": "text",
  "fee": 1,
  "guid": "text",
  "purpose": "text",
  "receiver_account_account_kind": "text",
  "receiver_counterparty": "text",
  "receiver_id": "text",
  "sender_account_account_kind": "text",
  "sender_counterparty": "text",
  "sender_id": "text",
  "status": "CREATED",
  "stellar_info": {
    "hash": "text"
  },
  "target_balance": 1,
  "updated_at": "text"
}

Get payments list

get

Get payments list with filter

Path parameters
counterparty_guidstringRequired

Counterparty GUID

Query parameters
receiver_counterpartystringOptional

Receiver counterparty GUID

sender_counterpartystringOptional

Sender counterparty GUID

guidsstring[]Optional

Payment GUIDs

sender_idsstring[]Optional

Payment sender ids

receiver_idsstring[]Optional

Payment receiver ids

external_idstringOptional

External transaction id

min_amountintegerOptional

Minimal amount

max_amountintegerOptional

Maximum amount

statusesstring[]Optional

Payment statuses

asset_issuersstring[]Optional

Asset issuers

asset_codesstring[]Optional

Asset codes

min_created_atstringOptional

ISO date

max_created_atstringOptional

ISO date

min_updated_atstringOptional

ISO date

max_updated_atstringOptional

ISO date

category_guidstringOptional

Category's guid

orderstring ยท enumOptional

sorting order

Possible values:
offsetintegerOptional

offset

limitintegerOptional

limit

Responses
200
OK
application/json
400
json with error msg
application/json
get
GET /api/v1/counterparty/{counterparty_guid}/payments HTTP/1.1
Host: your_host
Accept: */*
{
  "payments": [
    {
      "amount": 1,
      "asset_code": "text",
      "asset_issuer": "text",
      "category": "text",
      "category_guid": "text",
      "created_at": "text",
      "deleted_at": "text",
      "fee": 1,
      "guid": "text",
      "purpose": "text",
      "receiver_account_account_kind": "text",
      "receiver_counterparty": "text",
      "receiver_id": "text",
      "sender_account_account_kind": "text",
      "sender_counterparty": "text",
      "sender_id": "text",
      "status": "CREATED",
      "stellar_info": {
        "hash": "text"
      },
      "target_balance": 1,
      "updated_at": "text"
    }
  ],
  "total": 1
}
  • Get transfer information
  • GETGet payment
  • Create transfer
  • Create payment
  • POSTCreate payment
  • Confirm transfer
  • POSTConfirm Payment
  • Get transfers list
  • GETGet payments list

Create payment

post

Create payment

Path parameters
counterparty_guidstringRequired

Counterparty GUID

Body
amountnumberOptional

amount of tokens to transfer

asset_codestringOptional

asset code

asset_issuerstringOptional

address in Stellar that issues tokens

category_guidstringOptional

payment category

purposestringOptional
receiver_ibanstringOptional

IBAN of receiver account

receiver_idstringOptional

guid of receiver account

sender_ibanstringOptional

IBAN of sender account

sender_idstringOptional

guid of sender account

target_balancenumberOptional

account balance after operation

Responses
200
OK
application/json
400
json with error msg
application/json
post
POST /api/v1/counterparty/{counterparty_guid}/payments HTTP/1.1
Host: your_host
Content-Type: application/json
Accept: */*
Content-Length: 197

{
  "amount": 1,
  "asset_code": "text",
  "asset_issuer": "text",
  "category_guid": "text",
  "purpose": "text",
  "receiver_iban": "text",
  "receiver_id": "text",
  "sender_iban": "text",
  "sender_id": "text",
  "target_balance": 1
}
{
  "guid": "text"
}

Confirm Payment

post

Confirm payment

Path parameters
counterparty_guidstringRequired

Counterparty GUID

Body
bank_guidstringOptional

Counterparty's GUID (receiver's bank). If it is not provided, the payment will be considered an internal transfer.

guidstringOptional

Payment's GUID

Responses
200
OK
application/json
Responseobject
400
json with error msg
application/json
post
POST /api/v1/counterparty/{counterparty_guid}/payments/confirm HTTP/1.1
Host: your_host
Content-Type: application/json
Accept: */*
Content-Length: 34

{
  "bank_guid": "text",
  "guid": "text"
}
{}