canonical: https://jentic.com/apis/paymongo.com/paymongo

# PayMongo Philippines API

Jentic publishes the only available OpenAPI specification for PayMongo Philippines API, keeping it validated and agent-ready. The PayMongo API enables businesses to accept online payments in the Philippines through payment intents, checkout sessions, direct payments, and refunds. It supports local payment methods including GCash, GrabPay, Maya, bank transfers, and credit cards, providing 5 endpoints that cover the complete payment lifecycle for Philippine e-commerce.

## For AI agents

Accept payments in the Philippines through payment intents, checkout sessions, and refunds supporting GCash, GrabPay, Maya, cards, and bank transfers.

## Scope

Does not handle international payments, subscriptions, invoicing, or multi-currency settlement - use for Philippine peso payment acceptance only.

## Capabilities

- Create payment intents for card and wallet-based transactions with 3D Secure support
- Generate hosted checkout sessions with pre-configured payment method options
- Process direct payments for immediate charge scenarios
- Issue refunds on completed payments with amount and reason tracking
- Accept Philippine local payment methods including GCash, GrabPay, and Maya

## Use cases

### Philippine E-Commerce Checkout

Accept payments from Filipino consumers using their preferred payment methods including GCash, GrabPay, Maya, credit cards, and bank transfers. The checkout sessions endpoint generates a hosted payment page with all configured methods displayed. PayMongo handles 3D Secure authentication for cards and wallet redirects for e-wallets, converting at rates above 90% for local methods.

Example prompt: Create a checkout session for 1,500.00 PHP with GCash and card payment methods enabled via POST /checkout_sessions and retrieve the checkout URL

### Payment Intent Flow

Use the payment intents pattern for custom checkout experiences where you control the UI. Create a payment intent with amount and currency, attach a payment method on the client side, then confirm the intent to process the charge. This two-step flow supports 3D Secure challenges for cards and wallet authorization redirects while giving full control over the checkout experience.

Example prompt: Create a payment intent for 2,000.00 PHP via POST /payment_intents, then retrieve its status via GET `/payment_intents/{id}` to verify it awaits payment method attachment

### Refund Processing

Issue refunds on completed PayMongo payments for order cancellations, returns, or overpayments. The refunds endpoint accepts the payment ID, refund amount, and reason. Refunds are processed back to the original payment method. For e-wallet payments like GCash, refunds appear in the customer's wallet within minutes.

Example prompt: Issue a refund of 500.00 PHP on a completed payment via POST /refunds with the payment ID and reason as 'customer_request'

### AI Agent Philippine Payment via Jentic

AI agents use Jentic to accept payments in the Philippines without managing HTTP Basic authentication or constructing PayMongo API requests manually. Jentic stores the API secret key securely and provides operation schemas so agents can create checkout sessions, process payment intents, and issue refunds with validated Philippine payment parameters.

Example prompt: Search Jentic for 'create a Philippine payment checkout', load the PayMongo checkout sessions schema, and execute it for a 3,000.00 PHP order with GCash and card methods

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/payment_intents` | Create a payment intent |
| GET | `/payment_intents/{id}` | Retrieve payment intent status |
| POST | `/checkout_sessions` | Create a hosted checkout session |
| GET | `/payments` | List payments |
| POST | `/refunds` | Issue a refund |

## Key resources

- **Payment Intents** — Create and track two-step payment flows with 3D Secure and wallet support
- **Checkout Sessions** — Generate hosted payment pages with configurable payment method options
- **Payments** — Process direct payments and retrieve transaction details
- **Refunds** — Issue refunds on completed payments with amount and reason

## Why Jentic

- **Setup:** Wiring PayMongo by hand means learning its HTTP basic auth with your secret key, formatting PHP amounts correctly, and coding requests against payment intents, checkout sessions, and refunds yourself. Through Jentic you install once, import PayMongo from the API Directory, store the secret key once, and your agent calls it.
- **Permission scoping:** PayMongo puts the payment intent id in the URL path (`/payment_intents/{id}`), so a rule can pin your agent to retrieving one payment intent. You choose the operations it may call, so creating checkout sessions or issuing refunds is not included unless you add them.
- **Credential handling:** Your PayMongo secret key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'accept a GCash payment in the Philippines' or 'refund a payment', and Jentic returns the matching PayMongo operation with its input schema including payment method types and PHP formatting so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Stripe API** — Global payment platform with Philippine card processing but limited local method coverage
- **Maya API** — Philippine payment platform from Maya (formerly PayMaya) with wallet and card support
- **Adyen Checkout API** — Enterprise payment orchestration with Southeast Asian payment method support

## FAQ

### Why is there no official OpenAPI spec for PayMongo Philippines API?

PayMongo does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call PayMongo Philippines API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the PayMongo API use?

The PayMongo API uses HTTP Basic authentication with your secret API key as the username and an empty password. For public endpoints like creating payment method tokens, use the public key instead. Through Jentic, both keys are stored in your Jentic One instance and the correct one is used per operation.

### Which Philippine payment methods does PayMongo support?

PayMongo supports GCash, GrabPay, Maya (formerly PayMaya), credit and debit cards (Visa, Mastercard), bank transfers, and over-the-counter payments. Each method can be enabled per checkout session. GCash and GrabPay are the most popular e-wallet options with the highest conversion rates in the Philippines.

### What are the rate limits for the PayMongo API?

PayMongo applies rate limits per API key. Standard accounts support approximately 100 requests per minute. Test mode has more relaxed limits. The API returns 429 Too Many Requests when exceeded. Jentic handles rate limiting and retry logic when executing operations.

### How do I create a checkout session through Jentic?

Search Jentic for 'create a Philippine payment checkout' to find the POST /checkout_sessions operation. Jentic returns the input schema showing required fields like line_items (with amount, name, quantity), payment_method_types (gcash, card, grab_pay), and currency (PHP). Execute through Jentic and receive the checkout URL. Install with pip install jentic.

### Can I issue partial refunds with PayMongo?

Yes. The POST /refunds endpoint accepts an amount field allowing partial refunds. You can issue multiple partial refunds on the same payment as long as the total does not exceed the original charge. Provide a reason field for tracking purposes. E-wallet refunds process within minutes.

### Can I limit what my agent is allowed to do with the PayMongo Philippines API?

Yes. Jentic One is self-hosted, so your own rules decide which PayMongo operations the agent may call and which credentials it may use. Because PayMongo puts the payment intent id in the URL path (GET `/payment_intents/{id}`), you can pin the agent to retrieving a single payment intent, while creating checkout sessions (POST /checkout_sessions) or issuing refunds (POST /refunds) stay off-limits unless you explicitly add them. Your secret key is injected only at execution time and never enters the agent's prompt or logs.
