Payment (One-Time)
Charges a card for a one-time payment (full or installment).
Authorizations
JWT issued by POST /api/v1.1/access-token/b2b. Send Authorization: Bearer <token>.
Merchant API key (Credential.api_key). Required on every request.
Path Parameters
Account ULID
Body
Request payload for a one-time card payment (full or installment). Customer billing details and card credentials are mandatory; installment fields are optional.
Charge amount in IDR (whole number). Must be within the limits defined by config(default_money_in_out.min_card_amount|max_card_amount).
150000
Name or description of the goods/service being purchased.
255"Premium Subscription"
Full name of the paying customer.
255"John Doe"
Customer email address.
255"john.doe@example.com"
Customer contact phone number.
50"081234567890"
Customer billing street address.
500"Jl. Jenderal Sudirman No. 1"
Customer billing city.
100"Jakarta"
Customer billing state or province.
100"DKI Jakarta"
Customer billing postal code.
20"10220"
Customer country as a 2-letter ISO 3166-1 alpha-2 code.
2"ID"
Card primary account number (PAN). Spaces are stripped before processing.
20"4000000000000002"
Card expiry in MMYY format.
4"0828"
Card verification value (CVV/CVC) printed on the card.
4"123"
Cardholder name as printed on the card.
45"JOHN DOE"
Cardholder email address.
100"john.doe@example.com"
Merchant reference for the transaction. Auto-generated when omitted.
100"INV-2024-0012"
Optional free-text note for the transaction.
500"Monthly premium plan payment"
Set to true to pay by installment. Defaults to false (full payment).
false
Installment tenor in months. Required only when installment is true.
3, 6, 12 "3"
Response
SP000 Successfully — payment accepted (may require 3-D Secure; check data.action).
Merchant v2 envelope returned on a successful one-time payment request (SP000, HTTP 200).
SingaPay custom business response code.
"SP000"
Human-readable label paired with response_code.
"Successfully"
Payload returned on a one-time payment request (CardPaymentMerchantApiService::mapPaymentResponseToV2). When the card requires 3-D Secure, action is redirect and the merchant must forward the customer to payment_url; otherwise action is complete.
