Skip to main content
POST
/
v1
/
payment
/
create-intent
Create payment intent
curl --request POST \
  --url https://staging.api.payluk.ng/v1/payment/create-intent \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'customer-id: <customer-id>' \
  --data '
{
  "amount": 50000,
  "gateway": "PAYSTACK",
  "currency": "NGN",
  "transactionType": "DEPOSIT",
  "creditType": "CREDIT"
}
'
{
  "status": 200,
  "message": "Payment intent created successfully",
  "data": {
    "reference": "PSK_REF_12345",
    "amount": 50000,
    "status": "PENDING",
    "authorizationUrl": "https://checkout.paystack.com/abc123"
  }
}

Authorizations

Authorization
string
header
required

Your secret key as a Bearer token. The key prefix selects the environment: sk_test_... (test) or sk_live_... (live).

Headers

customer-id
string
required

The merchant customer this request acts on behalf of.

Body

application/json
amount
integer
required
Example:

50000

gateway
enum<string>
required
Available options:
PAYSTACK,
WALLET,
FLUTTERWAVE
Example:

"PAYSTACK"

currency
string
Example:

"NGN"

transactionType
enum<string>
Available options:
DEPOSIT,
ESCROW,
WITHDRAWAL
Example:

"DEPOSIT"

creditType
enum<string>
Available options:
CREDIT,
DEBIT
Example:

"CREDIT"

Response

Payment intent created.