> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# PayPlug

> Connect PayPlug to your Atako agents — 5 read and 2 write actions.

Let your agents read payments, refunds and installment plans in PayPlug, send a customer a hosted payment request and cancel an unpaid one. Nothing that moves money (no refund, capture or saved-card charge). Test the connection with a test secret key (sk\_test\_…) first.

## Connection

* **Authentication**: API key (Secret key).

<Note>
  Sign in at portal.payplug.com → My account → API Credentials, and copy the secret key (starts with sk\_). A test key (sk\_test\_…) works on test data only — use it to try the connection; the live key (sk\_live\_…) acts on real payments. A PayPlug secret key has no scopes: it acts for the whole account.

  See [PayPlug's documentation](https://portal.payplug.com/).
</Note>

## Read actions (5)

| Action | Description |
| - | - |
| `get_installment_plan` | Retrieve an installment plan (installment\_plan\_id: inst\_…, found in a payment's installment\_plan\_id): is\_active, is\_fully\_paid, schedule of installments, billing. PayPlug has no endpoint to list installment plans. |
| `get_payment` | Retrieve a payment by its ID (pay\_…): amount and amount\_refunded in cents, is\_paid, is\_refunded, failure, hosted\_payment.payment\_url, billing, installment\_plan\_id, metadata. |
| `get_refund` | Retrieve one refund (refund\_id: re\_…) of a payment (payment\_id: pay\_…); list\_refunds gives the IDs. |
| `list_payments` | List payments of the key's mode (test key: test payments, live key: live payments). Only payments created through the API are listed (payments created in the PayPlug portal are not). Optional: page (integer, starts at 0), per\_page (1–100; without page, the last 10 payments are returned). Amounts are in cents. Response: \{ page, per\_page, has\_more, data: \[payment] }. |
| `list_refunds` | List the refunds of a payment (payment\_id: pay\_…). Optional: page (integer, starts at 0), per\_page (1–100). Read only — refunds cannot be created from here. |

## Write actions (2)

| Action | Description |
| - | - |
| `abort_payment` | Abort (cancel) an unpaid payment request so its payment page can no longer be paid. Argument: payment\_id (string, pay\_…). Impossible on a payment already paid or failed. Nothing else about the payment can be changed through this action. |
| `create_hosted_payment` | Create a hosted payment REQUEST: PayPlug returns a payment page (hosted\_payment.payment\_url in the response) for the customer to pay; nothing is charged by this call. Arguments: amount (integer in cents, 30–2000000, e.g. 4207 for 42.07 €); currency ("EUR", the only currency PayPlug supports); billing (object, required: email (string, required — the customer's address), optional first\_name, last\_name, title ("mr" \| "mrs" \| "miss"), mobile\_phone\_number (E.164 string, required by PayPlug when sent\_by is "SMS"), landline\_phone\_number, address1, address2, company\_name, postcode, city, state, country (2-letter ISO code), language ("fr" \| "en" \| "it")); hosted\_payment (object, required: return\_url (string, http(s) URL the customer returns to after the page, paid or not), cancel\_url (string, http(s) URL after "Cancel payment"), sent\_by ("EMAIL" \| "SMS" \| "OTHER": EMAIL/SMS makes PayPlug send the link to the billing email/phone and keeps it valid 7 days, OTHER means you share the link yourself; without sent\_by the link expires after 15 minutes) — all optional inside); optional shipping (object, same fields as billing plus delivery\_type: "BILLING" \| "VERIFIED" \| "NEW" \| "SHIP\_TO\_STORE" \| "DIGITAL\_GOODS" \| "TRAVEL\_OR\_EVENT" \| "OTHER"; sent as \{} when omitted); optional description (string, max 80 chars, shown to the customer); optional metadata (flat JSON object of your own keys); optional notification\_url (string, http(s)); optional force\_3ds (boolean). No deferred payment, saved card or alternative payment method. |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.

***

*Last reviewed against the provider API: September 2026.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.