Skip to main content

Endpoint

POST https://pay.sandbox.yabetoopay.com/v1/remittance   # Sandbox
POST https://pay.api.yabetoopay.com/v1/remittance       # Production

Authentication

Use your secret key in the Authorization header:
Authorization: Bearer YOUR_SECRET_KEY
Secret key security: Your secret key must be kept confidential and should never be exposed in frontend or client-side code. It must only be used on the server side.

Request Body

ParameterTypeRequiredDescription
amountstringYesThe amount to transfer (in the smallest currency unit)
currencystringYesCurrency code (e.g., XAF, USD)
first_namestringYesRecipient’s first name
last_namestringYesRecipient’s last name
payment_method_dataobjectYesPayment method details
metadataobjectNoKey-value metadata for internal tracking

payment_method_data structure

{
  "type": "momo",
  "momo": {
    "msisdn": "242066594470",
    "country": "CG",
    "operator_name": "mtn"
  }
}
FieldDescription
typePayment method type (momo for Mobile Money)
momo.msisdnRecipient’s phone number
momo.countryCountry code (e.g., CG, CM)
momo.operator_nameOperator name (mtn, airtel)

Example Request

curl -X POST https://pay.sandbox.yabetoopay.com/v1/remittance \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_SECRET_KEY" \
  -d '{
    "amount": "100",
    "currency": "XAF",
    "first_name": "John",
    "last_name": "Doe",
    "payment_method_data": {
      "type": "momo",
      "momo": {
        "msisdn": "242066594470",
        "country": "CG",
        "operator_name": "mtn"
      }
    },
    "metadata": {
      "source": "yabetoo-partner-portal"
    }
  }'

Response

200 OK

{
  "id": "rem_RMqehxy8NNi1ocJFG2SSAZMj81m6spo72vnZ",
  "object": "remittance",
  "amount": 1000,
  "currency": "xaf",
  "status": "succeeded",
  "firstName": "John",
  "lastName": "Doe",
  "operatorName": "mtn",
  "country": "cg",
  "phone": "242066594470",
  "type": 1,
  "shouldExecutedAt": "2025-03-18T09:24:57.555Z",
  "createdAt": "2025-03-17T10:24:57.559+01:00",
  "updatedAt": "2025-03-17T10:24:57.559+01:00"
}

Remittance Status

StatusDescription
processingBeing processed
succeededRemittance completed successfully
failedRemittance failed
canceledRemittance was canceled

400 Bad Request

{
  "errors": [
    {
      "rule": "required",
      "field": "currency",
      "message": "required validation failed"
    }
  ]
}

401 Unauthorized

{
  "message": "Unauthorized"
}