Skip to main content

3.1 Create PayIn

POST /api/v1/payins

Request

ParameterTypeRequiredDescription
X-API-KeystringYesAPI key.
X-TimestampstringYesRequest time in ISO-8601 UTC format.
X-SignaturestringYesHMAC-SHA256(timestamp + body, secret).
Content-TypestringYesapplication/json.

Example request

{
"external_id": "PIN-VND-EPT-001",
"amount": "250000",
"currency": "VND",
"shop_code": "your_ept_vnd_shop",
"merchant_user_id": "merchant-user-001",
"callback_url": "https://merchant.example.com/webhooks/payin",
"paymentData": {
"account_number": "0123456789",
"holder": "Nguyen Van An",
"bank_code": "VCB"
}
}

Response

Response fields

Fields with null values and empty paymentData are omitted from the response.

ParameterTypeDescription
idnumberPayfield operation ID.
statusstringCurrent PayIn status.
external_idstringUnique PayIn identifier from the request.
amountstringPayIn amount.
currencystringVND.
shop_codestringShop code used for routing.
merchant_user_idstringMerchant user identifier from the request.
merchant_user_ipstringUser IP from the request, when supplied.
callback_urlstringCallback URL from the request, when provided.
payment_page_urlstringHosted payment-page URL at the root of the response.
payment_page_expires_atstringHosted payment-page expiration time, when available.
transaction_typestringAlways payin.
created_atstringCreation timestamp.
updated_atstringLast update timestamp.
finalization_datestringReturned when the PayIn reaches a final status.

Example response

{
"id": 12345,
"status": "pending",
"external_id": "PIN-VND-EPT-001",
"amount": "250000",
"currency": "VND",
"shop_code": "your_ept_vnd_shop",
"merchant_user_id": "merchant-user-001",
"payment_page_url": "https://pay.example.com/vnd/PIN-VND-EPT-001",
"transaction_type": "payin",
"created_at": "2026-09-21T10:00:00+00:00",
"updated_at": "2026-09-21T10:00:00+00:00"
}