Skip to main content


Learn more about the PaymentIntent resource

A PaymentIntent tracks the customer's payment lifecycle, keeping track of any failed payment attempts and ensuring the customer is only charged once. Create one PaymentIntent whenever your customer arrives to your checkout page. Retrieve the Payment Intent later to see the history of payment attempts.

A PaymentIntent transitions through multiple statuses throughout its lifetime via Payrex.JS until it creates at most one successful payment.


POST /payment_intents

GET /payment_intents/:id

The PaymentIntent Resource

"id": "pi_SJuGtXXC3XNRWpW3W1zQKiLWf67ZC4sX",
"resource": "payment_intent",
"amount": 10000,
"capture_type": "automatic",
"client_secret": "pi_SJuGtXXC3XNRWpW3W1zQKiLWf67ZC4sX_secret_7KGizzHuLtPtaLwiRMHekBHRUo6yv52r",
"currency": "PHP",
"description" :"",
"livemode": test,
"metadata": null,
"next_action": {
"type": "redirect",
"redirect_url": "https://my-application/redirect"
"payment_methods": ["card", "gcash"],
"status": "awaiting_payment_method",
"created_at": 1700407880,
"updated_at": 1700407880


id string

Unique identifier for the resource. The prefix is pi_.

resource string

Represents the resource's type. The value is payment_intent.

amount string

The amount to be collected by the PaymentIntent. This is a positive integer that your customer will pay in the smallest currency unit, cents. If the customer should pay for ₱ 120.50, the amount of the PaymentIntent should be 12050.

The minimum amount is ₱ 20 (2000 in cents) and the maximum amount is ₱ 59,999,999.99 (5999999999 in cents).

payment_methods array of strings

The list of payment methods allowed to be processed by the PaymentIntent.

status string

The latest status of the PaymentIntent. Possible values are awaiting_payment_method, awaiting_next_action, processing, or succeeded.

capture_type string

Describes if the PaymentIntent will separate authorization and capture process. Possible values are automatic, and capture.

To know more about separating authorization and capture, you can refer to this guide.

client_secret string

The client secret of this PaymentIntent used for client side retrieval using a public API key. The client secret can be used to complete a payment from your client application.

currency string

A three-letter ISO currency code, in uppercase. As of the moment, we only support PHP.

description string

An arbitrary string attached to the PaymentIntent. Useful reference when viewing paid Payment from PayRex Dashboard.

livemode boolean

The value is true if the resource's mode is live or the value is false if the resource mode is test.

metadata hash

Set of key-value pairs attached to the PaymentIntent and the resources created by the PaymentIntent e.g. Payment. This is useful for storing additional information about the PaymentIntent.

return_url string

The URL where your customer will be redirected after completing the authentication if they didn't exit/close their browser while authenticating.

next_action hash

If this attribute is present, it tells you the actions you need to take so that your customer can fulfill a payment using the selected payment method.

Show child attributes

next_action.type string

The type of the next action to perform, Possible value is redirect.

next_action.redirect_url string

The URL for authenticating a payment by redirecting your customer.

payment_method_id string

The latest PaymentMethod ID of attached to the PaymentIntent.

created_at timestamp

The time when the resource was created. Measured in seconds since the Unix epoch.

updated_at timestamp

The time when the resource was updated. Measured in seconds since the Unix epoch.