Peer to peer payment - P2P
You can use payment-attempts or create the payment directly.
A P2P (peer-to-peer) transaction is used to transfer funds between service providers or organizations. This is ideal for internal transfers, operator-to-operator flows, or any case where both origin and destination are known entities.
Although similar in structure to PURCHASE, it must not be used for customer payment flows.
Payment flow
Create payment
Creates a P2P transaction by specifying the origin and destination accounts, both belonging to known internal identities.
curl --location 'https://api.conomyhq.com/sandbox/payments' \
--header 'x-api-key: <YOUR_API_KEY>' \
--header 'User-Agent: <YOUR_APPLICATION_NAME>' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data '{
"identityId": "67f21a61d6d09fcbb4e84631",
"externalId": "p2p-transfer-001",
"accountNumber": "1743919714051743919010211",
"product": "COP:COP",
"type": "P2P",
"purchaseAmount": "15000.00",
"purchaseCurrency": "COP",
"currency": "COP",
"origins": [
{
"type": "ACCOUNT",
"currency": "COP",
"identity": {
"identityId": "67f21a61d6d09fcbb4e84631"
},
"account": {
"accountNumber": "1743919714051743919010211"
}
}
],
"destinations": [
{
"type": "ACCOUNT",
"amount": "15000.00",
"currency": "COP",
"identity": {
"identityId": "67f21d17d6d09fcbb4e84632"
},
"account": {
"accountNumber": "17439204080520250406060905072"
}
}
]
}'Capture payment
Capture the P2P transaction to finalize the transfer between entities.
curl --location --request POST 'https://api.conomyhq.com/sandbox/payments/<PAYMENT_ID>/captured' \
--header 'x-api-key: <YOUR_API_KEY>' \
--header 'User-Agent: <YOUR_APPLICATION_NAME>' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data ''Webhook simulation
Simulate a webhook event to confirm the P2P transaction has been received or processed.
curl --location --request POST 'https://api.conomyhq.com/sandboxwebhook/payments/received/payment-provider' \
--header 'x-api-key: <YOUR_API_KEY>' \
--header 'User-Agent: <YOUR_APPLICATION_NAME>' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Accept: */*' \
--header 'Host: api.conomyhq.com' \
--header 'Connection: keep-alive' \
--data-raw '{
"id": "<PAYMENT_ID>"
}'Check account information
Verify the origin or destination account at any time to ensure correctness.
curl --location 'https://api.conomyhq.com/sandbox/accounts?accountNumber=1743919714051743919010211' \
--header 'x-api-key: <YOUR_API_KEY>' \
--header 'User-Agent: <YOUR_APPLICATION_NAME>' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data ''Last updated

