Initialize a checkout transaction for the Checkout flow. This endpoint creates a temporary session and returns a checkout_url where you can redirect your customer to complete their payment.
Endpoint
POST /pms/transactions/initialize/
Name Type Required Description api-keystring Required Business API key api-secretstring Required Business API secret Content-Typestring Required Must be application/json
Request Body
Amount to charge in the smallest currency unit (e.g., "10000" for ₦100.00).
Currency code for the transaction.
List of enabled payment methods. Options: ["BANK_TRANSFER", "CARD"].
The customer’s full name.
The customer’s email address.
The customer’s phone number.
Your unique transaction reference. If not provided, PayVessel will generate one.
The URL users should be redirected to after payment.
The URL to receive webhook notifications about the transaction.
Additional data you want to store with the transaction.
Response
Request status - true or false.
Description of the result.
The transaction reference.
Transaction status - "PENDING".
Access code for the transaction session.
The URL to redirect the customer to.
ISO 8601 timestamp of transaction creation.
Example Request
curl -X POST https://api.payvessel.com/pms/transactions/initialize/ \
-H "api-key: your_api_key" \
-H "api-secret: your_api_secret" \
-H "Content-Type: application/json" \
-d '{
"amount": "500000",
"currency": "NGN",
"channels": ["BANK_TRANSFER", "CARD"],
"customer_name": "John Doe",
"customer_email": "customer@example.com",
"customer_phone_number": "+2348012345678",
"redirect_url": "https://yourapp.com/payment/callback",
"webhook_url": "https://yourapp.com/webhook"
}'
Example Response
{
"status" : true ,
"message" : "Checkout transaction successfully initialized" ,
"data" : {
"id" : "21d0c799-fbb5-473e-856d-1b2f9ada9d8a" ,
"transaction_ref" : "<string>" ,
"amount" : "5000.00" ,
"status" : "PENDING" ,
"access_code" : "ABC-I77VVH-EROP40XN-TCGOTP-ABCD" ,
"checkout_url" : "https://checkout.payvessel.com/ACS-I77VVH-EROP40XN-ABCD-XCN4" ,
"created_datetime" : "2026-03-25T16:39:25.872400"
}
}