Skip to content

Suggested

API Dashboard

RecipesTransfer between accounts

Transfer between accounts

Move funds between two internal Conomy accounts using a P2P payment.

Use P2P when both sides of the movement are internal Conomy accounts. This is for balance transfers, operator-to-operator flows, or internal reallocations. It is not a customer checkout flow.

Attention

Use PURCHASE for a commercial customer payment. Use P2P only when the origin and destination accounts are both known internal accounts.

01
Choose origin

Pick the account that sends funds.

02
Choose destination

Pick the account that receives funds.

03
Create payment

Create a P2P transaction.

04
Capture

Commit the internal movement.

Request
POST /sandbox/payments HTTP/1.1
Host: api.conomyhq.com
x-api-key: {YOUR_API_KEY}
Authorization: Bearer {ACCESS_TOKEN}
conomyhq-api-version: 24-04-2025
User-Agent: MyApp/1.0
Content-Type: application/json
Accept: application/json

{
  "externalId": "p2p-transfer-1001",
  "identityId": "<ORIGIN_IDENTITY_ID>",
  "accountNumber": "<ORIGIN_ACCOUNT_NUMBER>",
  "product": "COP:COP",
  "type": "P2P",
  "purchaseAmount": "15000.00",
  "purchaseCurrency": "COP",
  "currency": "COP",
  "origins": [
    {
      "type": "ACCOUNT",
      "amount": "15000.00",
      "currency": "COP",
      "identity": {
        "identityId": "<ORIGIN_IDENTITY_ID>"
      },
      "account": {
        "accountNumber": "<ORIGIN_ACCOUNT_NUMBER>"
      }
    }
  ],
  "destinations": [
    {
      "type": "ACCOUNT",
      "amount": "15000.00",
      "currency": "COP",
      "identity": {
        "identityId": "<DESTINATION_IDENTITY_ID>"
      },
      "account": {
        "accountNumber": "<DESTINATION_ACCOUNT_NUMBER>"
      }
    }
  ]
}
Response
{
  "id": "<PAYMENT_ID>",
  "type": "P2P",
  "status": "CREATED"
}
Request
POST /sandbox/payments/{PAYMENT_ID}/captured HTTP/1.1
Host: api.conomyhq.com
x-api-key: {YOUR_API_KEY}
Authorization: Bearer {ACCESS_TOKEN}
conomyhq-api-version: 24-04-2025
User-Agent: MyApp/1.0
Content-Type: application/json
Accept: application/json

{}
Response
{
  "id": "<PAYMENT_ID>",
  "type": "P2P",
  "status": "CAPTURED"
}