Preauthorization and delayed capture using vaulted cards

How do I perform card preauthorization and delayed capture using vaulted cards?

To perform preauthorization and delayed capture using vaulted cards:

  1. Vault the card first: Use either ‘Save a Card Only’ or ‘Pay and Save’ to tokenize and store the card, obtaining a cardToken.

  2. Initiate preauthorization: Make a POST request to the appropriate endpoint with authorizationType: PREAUTHORIZATION:

    • For Maya Checkout: /checkout/v1/checkouts
    • For Maya Vault: /payments/v1/payments
      Include the cardToken and desired amount. Preauthorization holds funds for up to 29 days (Visa/MasterCard for lodging/rental) or 6 days (other schemes).
  3. Delay capture: Wait until you’re ready to capture the funds. The authorization remains active until the hold period expires or you void it.

  4. Perform delayed capture: Call /payments/v1/payments/{paymentId}/capture with the paymentId from the original authorization. You may capture the full or partial amount (up to the authorized amount), but only on the same day as the first successful capture. After 11:59 PM PH time on that day, the authorization transitions to DONE and no further captures are allowed.

If you attempt capture after the hold period expires, you will receive error PY0103: Payment is already expired.

Note: Preauthorization is supported in both Maya Checkout and Maya Vault. Ensure your integration handles webhooks for status updates and uses the secret key for capture requests.

For Sandbox concerns and other technical implementation inquiries, please get in touch with us via:

  • Sandbox Health Page: Check real-time service status updates.
  • Maya Developer Hub Service Desk: File
    a ticket in Sandbox.

To Know More:

We value your input and would love to hear your insights. Please submit you feedback here.