Payments
The payment object
The same object is returned by every payment endpoint and sent as the data of every payment webhook.
{
"code": "Kx7pR2mQ9a",
"url": "https://el-b.com/pay/Kx7pR2mQ9a",
"label": "Order #1042",
"status": "awaiting_confirmation",
"amount_dzd": 45000,
"received_amount_dzd": null,
"credit_cost": 4,
"credit_state": "charged",
"join_mode": "verified",
"payment_information": {
"deliverable": "iPhone 13, 128 GB, used",
"fulfillment_target": "Hand delivery in Bab Ezzouar, Algiers",
"platform": "Facebook Marketplace",
"recipient_handle": "Phone Store DZ"
},
"sender": {
"name": "Yacine Belkacem",
"is_guest": false,
"verified": true
},
"reference_number": "418306259147",
"termination_reason": null,
"auto_confirmed": false,
"receipt_url": null,
"created_at": "2026-11-02T10:12:03+01:00",
"claimed_at": "2026-11-02T10:14:51+01:00",
"transfer_expires_at": "2026-11-02T10:31:22+01:00",
"reference_submitted_at": "2026-11-02T10:24:37+01:00",
"refusable_at": "2026-11-04T10:24:37+01:00",
"auto_confirms_at": "2026-11-05T10:24:37+01:00",
"finalized_at": null,
"terminated_at": null
} Fields
- codestring
The payment's identifier, 10 characters. Use it in every
/payments/{code}call. - urlstring
The link to send the sender. They join the payment there, in their browser.
- labelstring|null
Your own reference (an order number), never shown to the sender.
- statusstring
Where the payment stands. See the statuses below.
- amount_dzdinteger
The amount you declared, in Algerian dinars.
- received_amount_dzdinteger|null
Set when you closed the payment with a different amount than the one declared.
- credit_costinteger
Credits the payment costs, fixed when it was created.
- credit_statestring
held(set aside),charged(the transaction number is in) orreturned(the payment ended before it). - join_modestring
Who may join:
verifiedaccounts only, anyaccount, or aguest(small amounts only). - payment_informationobject
What you sealed when creating the payment:
deliverable,fulfillment_target,platform,recipient_handle. - senderobject|null
Once someone joined: their
name,is_guestandverified(their account is verified by an official document). Nothing else about the sender is shared. - reference_numberstring|null
The 12-digit BaridiMob transaction number the sender entered. El-B never accepts the same number twice.
- termination_reasonstring|null
Why a
blockedorabortedpayment ended. See the reasons below. - auto_confirmedboolean
truewhen the payment was confirmed automatically at the end of the waiting period. - receipt_urlstring|null
The public receipt of a finalized payment, with the RIP masked.
- created_atdatetime
When the payment was created (ISO 8601, Algiers time).
- claimed_atdatetime|null
When the sender joined.
- transfer_expires_atdatetime|null
When the current transfer window ends.
- reference_submitted_atdatetime|null
When the transaction number was entered.
- refusable_atdatetime|null
While awaiting confirmation: from when you may report, in the app, that the transfer never arrived (BaridiMob history can take 24 to 48 hours).
- auto_confirms_atdatetime|null
While awaiting confirmation: when the payment confirms itself if you do nothing.
- finalized_atdatetime|null
When the payment was completed.
- terminated_atdatetime|null
When a blocked or aborted payment ended.
Statuses
| Status | Meaning |
|---|---|
open | Created; waiting for the sender to open the link and join. |
negotiating | The sender joined and is describing the deal on their side, without seeing yours. |
arbitrating | Both descriptions are in; the auditor is comparing them. |
arbitration_failed | The auditor could not be reached. Your RIP stays hidden; the comparison can be retried from the app. |
approved | The descriptions match. The sender can now ask for your RIP. |
transfer_window | The sender sees your RIP and has 15 minutes to transfer and enter the transaction number. |
expired | The transfer window ended without a transaction number. You can reopen it from the app. |
awaiting_confirmation | The sender entered the BaridiMob transaction number. Check that the transfer reached your account, then confirm it. |
finalized | Complete: confirmed by you, automatically after 72 hours, or closed with the amount that actually arrived. Its receipt is public at receipt_url. |
blocked | Stopped: the descriptions did not match, the sender did not recognise you, or the El-B team freed the transaction number after a report. |
aborted | Ended without a confirmed transfer: cancelled, or reported as not received. |
Termination reasons
| Reason | Meaning |
|---|---|
arbiter_blocked | The auditor found that the two descriptions of the deal do not match. |
sender_did_not_recognize_recipient | The sender said you are not the person they negotiated with. |
seller_cancelled | You cancelled the payment. |
seller_rejected_payment | You reported that the transfer never arrived. |
admin_cancelled | The El-B team cancelled the payment. |
external_id_released | The El-B team freed the transaction number used in this payment after a report. |
Never included
Your RIP, full or masked, and any identity data from your verification. About the sender: only their name, whether they joined as a guest and whether their account is verified. Never their email, account, device or the description they gave of the deal, and never the auditor's reasoning.