Single Payments
Make one-time card payments using Vault
Easy step-by-step guide
Accepting one-time card payments is straightforward using our Vault API
Initialization and Authentication
Authentication
Before deep diving the guide to accept card payments, kindly review Authentication first.
To start accepting single card payments, your customer should have finished selecting the items that they need to buy and have chosen to pay using a credit or debit card.
The customer will then input the card information on your form to start the tokenization process.
Tokenization
Customer's credit card data will have the following JSON data:
{
"card": {
"number": "512345678890",
"expYear": "2025",
"cvc": "11",
"expMonth": "02"
}
}
When user submits the card information, your application should tokenize to generate a paymentTokenId
for the next steps.
No credit information should be saved
Your application should not save the credit card information.
Processing the tokenized information for payment
Once the paymentTokenId
has been generated, you can now send the details of the transaction such as total amount, buyer information, webhooks and other metadata. You can process the JSON body format below using the Create Payment endpoint.
Field | Description |
---|---|
paymentTokenId (string) | Tokenize credit card information |
totalAmount (object) | An object that contains the value and currency |
requiredReferenceNumber (string) | The reference number that will be generated from the merchant's side. It is recommended to use unique id generator such as uuid |
redirectUrl (object) | An object that contains where PayMaya will redirect to after a successful payment. The fields supported are success, failure, cancel. |
buyer (object) | Contains the buyer details. This is optional by default but it required for merchants to are Kount-enabled. Review the Kount Buyer fields for the required fields |
items (array) | An array of the objects. Each object contains the information that a customer will pay for. |
metadata (object) | Optional. Used to provide additional data to the transaction such a payment faciliator information. Contact your account manager to know more about and if you are required to fill-in the object |
authorizationType (string) | Optional. Used for Manual Capture. The accepted values are: NORMAL, FINAL, PREAUTHORIZATION |
Take note of the verificationUrl
from the HTTP Response of Create Payment, you will need this on the next steps.
{
"id": "7ea1f6ef-035c-4fcd-85e0-037c8d9d4a2c",
"isPaid": false,
"status": "FOR_AUTHENTICATION",
"amount": "100",
"currency": "PHP",
"canVoid": false,
"canRefund": false,
"canCapture": false,
"createdAt": "2021-07-12T10:02:55.000Z",
"updatedAt": "2021-07-12T10:02:55.000Z",
"description": "Charge for [email protected]",
"paymentTokenId": "0zjacza65HEobriYGN9g5XwaWZYVSeErdNnaNCLCo8QvUXuGg49KPJSy1XbhHPL8OisYOiYPJSQ2BxqR2AuC682Yu5G5LzrU0SK6ByWi0TyhkekWf1ssl6cMBWAVAOdArLcY1QXEyHdr8EsRAS2bHeMEpUU6OSmxmky5Fk",
"requestReferenceNumber": "1626084179",
"verificationUrl": "https://payments-web-sandbox.paymaya.com/authenticate?id=7ea1f6ef-035c-4fcd-85e0-037c8d9d4a2c"
}


Payment Flow of Vault Single Payments
Manual Capture
Vault also supports manual capture by including
authorizationType
on the body of Create Payment endpoint. You can review the full details of manual capture here.
Payment Verification
Our Vault API will verify the payment details of your customer. Your application will be required to redirect to the verificationUrl
to initiate the verification process (i.e. OTP).
Handling the post-verification data
Once verification is complete and your application has received the successful payment information via webhooks, you can show the successful payment page to your customer.
Too complex?
Avoid the complexity of executing one-time card payment and take a look at our Checkout guide to use a single endpoint accept one-time card payments.
Updated 5 months ago