Retrieve the status of a payment request

GET /v2/rtp/{id}

This endpoint retrieves the current status and details of a specific Request to Pay (RTP). It is typically used to check the lifecycle state of a payment request, confirm reconciliation, or verify the latest status in case callback delivery is delayed.


Request

HTTP Method: GET Endpoint:

/v2/rtp/{id}

Path Parameters

Parameter
Type
Description

rtpId

string (GUID)

RTP unique identifier (rtpId).

Headers

Authorization: Bearer {access_token}

Example Request

curl -G "https://api.maibmerchants.md/v2/rtp/123e4567-e89b-12d3-a456-426614174000" \
  -H "Authorization: Bearer {{access_token}}"

Response

Response Parameters

Field
Type
Description

result

object

Response result object.

result.rtpId

string (GUID)

RTP unique identifier.

result.orderId

string(100)

Merchant-side order identifier.

result.status

string (enum)

RTP status. Possible values: Created, Active, Cancelled, Accepted, Rejected, Expired.

result.amount

number (decimal)

RTP amount (fixed).

result.currency

string (enum)

Payment currency. Possible values: MDL (ISO 4217).

result.description

string(500)

Order description.

result.callbackUrl

string(1000)

HTTPS URL where the merchant receives payment data after successful payment in the Bank App.

result.redirectUrl

string(1000)

HTTPS URL where the customer is redirected after successful payment in the Bank App.

result.createdAt

string (datetime, ISO 8601-1:2019)

Timestamp when the RTP was created.

result.updatedAt

string (datetime, ISO 8601-1:2019)

Timestamp of the last status update.

result.expiresAt

string (datetime, ISO 8601-1:2019)

Timestamp when the RTP expires.

result.terminalId

string(100)

Terminal ID provided by the bank.

ok

boolean

Request processing status. true if no errors, false if errors occurred.

errors

array

List of errors (present only if ok = false).

errors.errorCode

string

Error code.

errors.errorMessage

string

Error description.


Example Successful Response

{
  "result": {
    "rtpId": "123e4567-e89b-12d3-a456-426614174000",
    "status": "Created",
    "amount": 50.00,
    "currency": "MDL",
    "description": "Order description",
    "callbackUrl": "https://example.com/callback",
    "redirectUrl": "https://example.com/success",
    "createdAt": "2029-10-22T10:32:28+03:00",
    "updatedAt": "2029-10-22T10:32:58+03:00",
    "expiresAt": "2029-10-22T10:33:28+03:00",
    "terminalId": "P011111"
  },
  "ok": true
}

Notes & Best Practices

  • Use this endpoint to verify the latest status or reconcile payments when callbacks are delayed.

  • Always rely primarily on callback notifications, and use this endpoint as a secondary check.

  • Store and log the rtpId from the create call to query status reliably.

  • Avoid excessive polling; design your integration to query only when callbacks are missing or inconsistent.

Last updated