Transactions

Submit a pool-account payment proof

Submits proof of a deposit made to the business pool account. The request creates a business deposit transaction in IN_REVIEW status; an operator confirms the bank inflow before the funds are credited. The response returns that transaction. Duplicate submissions of the same business, customer, amount, reference, timestamp and sender details within the configured idempotency window are rejected. The timestamp cannot be in the future. Your business must have a webhook URL set, otherwise the request is rejected with a 400.

post/api/v1/transaction/pool-account

Request

Request body

amountnumber required

The deposit amount in the major currency unit.

customerIdstring required

The Afriex customer ID the deposit should be credited to. Applies when reference is a customer reference, in which case it must match that customer. When reference is the business's own pool-account reference the deposit is credited to the business and this field is not used for routing.

countryCodestring required

ISO 3166-1 alpha-2 country code of the pool account.

referencestring required

The pool-account reference returned by GET /api/v1/payment-method/pool-account. Used to reconcile the deposit.

fileKeystring required

The S3 object key of the uploaded proof-of-payment file. Obtain this from POST /api/v1/media/url with type: transaction first; a URL requested without that type uploads to a different bucket and the key will be rejected as not found.

timestampstring date-time required

ISO 8601 timestamp of when the payment was sent. It cannot be in the future (a few minutes of clock difference is tolerated). Used for idempotency together with the other request fields.

Response

Proof submitted successfully.

Example response

{
  "data": {
    "meta": {
      "failureReason": {
        "code": "AFX_VELOCITY_LIMIT_EXCEEDED"
      }
    }
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.