Services & methods
Every service on the Luigel\Paymongo\Facades\Paymongo facade and its public methods. Call a method as Paymongo::{service}()->{method}(...). Every method throws a PaymongoException subclass when PayMongo answers with an error.
Parameter and return types are named by their short name. The data objects they return are listed on Data objects.
paymentIntents()
Paymongo::paymentIntents() returns Luigel\Paymongo\Services\PaymentIntentService.
paymentIntents()->create()
create(array $attributes, ?string $idempotencyKey = null): PaymentIntent
Returns PaymentIntent.
paymentIntents()->retrieve()
retrieve(string $id): PaymentIntent
Returns PaymentIntent.
paymentIntents()->retrieveUsingClientKey()
retrieveUsingClientKey(string $id, string $clientKey): PaymentIntent
Retrieve a payment intent client-side: authenticates with the configured public key and passes the intent's client key as a query parameter.
Returns PaymentIntent.
paymentIntents()->attach()
attach(string $id, string $paymentMethodId, ?string $returnUrl = null, ?string $clientKey = null): PaymentIntent
Attach a payment method to the payment intent.
$returnUrl: Required by PayMongo for e-wallet, DOB and BillEase payments.
Returns PaymentIntent.
paymentIntents()->capture()
capture(string $id, ?int $amount = null): PaymentIntent
Capture a manually-captured intent; omit the amount for a full capture.
Returns PaymentIntent.
paymentIntents()->cancel()
cancel(string $id): PaymentIntent
Returns PaymentIntent.
paymentMethods()
Paymongo::paymentMethods() returns Luigel\Paymongo\Services\PaymentMethodService.
paymentMethods()->create()
create(array $attributes): PaymentMethod
Returns PaymentMethod.
paymentMethods()->retrieve()
retrieve(string $id): PaymentMethod
Returns PaymentMethod.
payments()
Paymongo::payments() returns Luigel\Paymongo\Services\PaymentService.
payments()->create()
create(array $attributes, ?string $idempotencyKey = null): Payment
Charge a chargeable source. This is the last step of the legacy Sources flow; payment intents create their payment for you.
$attributes: Supported keys: amount (centavos, min 100), currency, source (['id' => $sourceId, 'type' => 'source']), description, statement_descriptor, metadata.
Returns Payment.
payments()->retrieve()
retrieve(string $id): Payment
Returns Payment.
payments()->list()
list(array $params = []): CursorPage
$params: Supported keys: limit, before, after.
Returns CursorPage<Payment>.
refunds()
Paymongo::refunds() returns Luigel\Paymongo\Services\RefundService.
refunds()->create()
create(array $attributes, ?string $idempotencyKey = null): Refund
Returns Refund.
refunds()->retrieve()
retrieve(string $id): Refund
Returns Refund.
refunds()->list()
list(array $params = []): CursorPage
$params: Supported keys: limit, before, after, payment_id.
Returns CursorPage<Refund>.
webhooks()
Paymongo::webhooks() returns Luigel\Paymongo\Services\WebhookService.
webhooks()->create()
create(string $url, array $events): Webhook
Returns Webhook.
webhooks()->list()
list(array $params = []): CursorPage
$params: Supported keys: limit, before, after, url.
Returns CursorPage<Webhook>.
webhooks()->retrieve()
retrieve(string $id): Webhook
Returns Webhook.
webhooks()->update()
update(string $id, array $attributes): Webhook
$attributes: Supported keys: url, events.
Returns Webhook.
webhooks()->enable()
enable(string $id): Webhook
Returns Webhook.
webhooks()->disable()
disable(string $id): Webhook
Returns Webhook.
webhooks()->delete()
delete(string $id): bool
Delete the endpoint. The client throws on failure, so reaching the return value always means the deletion succeeded.
Returns bool.
sources()
Paymongo::sources() returns Luigel\Paymongo\Services\SourceService.
Deprecated. The PayMongo Sources API is deprecated. Use payment intents with e-wallet payment methods instead.
sources()->create()
create(array $attributes): Source
Returns Source.
sources()->retrieve()
retrieve(string $id): Source
Returns Source.
checkoutSessions()
Paymongo::checkoutSessions() returns Luigel\Paymongo\Services\CheckoutSessionService.
checkoutSessions()->create()
create(array $attributes, ?string $idempotencyKey = null): CheckoutSession
Returns CheckoutSession.
checkoutSessions()->retrieve()
retrieve(string $id): CheckoutSession
Returns CheckoutSession.
checkoutSessions()->expire()
expire(string $id): CheckoutSession
Expire an active checkout session so it can no longer be paid.
Returns CheckoutSession.
links()
Paymongo::links() returns Luigel\Paymongo\Services\LinkService.
links()->create()
create(array $attributes): Link
Returns Link.
links()->retrieve()
retrieve(string $id): Link
Returns Link.
links()->retrieveByReference()
retrieveByReference(string $referenceNumber): ?Link
Find a link by its reference number, or null when none matches.
Returns ?Link.
links()->list()
list(array $params = []): CursorPage
$params: Supported keys: limit, before, after.
Returns CursorPage<Link>.
links()->archive()
archive(string $id): Link
Returns Link.
links()->unarchive()
unarchive(string $id): Link
Returns Link.
paymentLinks()
Paymongo::paymentLinks() returns Luigel\Paymongo\Services\PaymentLinkService.
paymentLinks()->create()
create(array $attributes, ?string $idempotencyKey = null): PaymentLink
$attributes: Supported keys: amount (min 100), currency (uppercase), description, remarks, metadata, restrictions (e.g.['completed_sessions' => 1]).
Returns PaymentLink.
paymentLinks()->retrieve()
retrieve(string $id): PaymentLink
Returns PaymentLink.
paymentLinks()->update()
update(string $id, array $attributes): PaymentLink
$attributes: Updatable fields, includingstatus(active/archived).
Returns PaymentLink.
paymentLinks()->archive()
archive(string $id): PaymentLink
Returns PaymentLink.
paymentLinks()->unarchive()
unarchive(string $id): PaymentLink
Returns PaymentLink.
paymentLinks()->list()
list(array $params = []): CursorPage
List payment links. Items in the response are flat objects, so the page is assembled here rather than through the shared triple-resource helper; the next page repeats the request with after set to the last item's id.
$params: Supported keys: limit, before, after.
Returns CursorPage<PaymentLink>.
paymentLinks()->payments()
payments(string $id, array $params = []): CursorPage
The payments collected through a payment link. Items are standard v1 {id, type, attributes} payment resources with has_more pagination (assumed from the v1 conventions; the official docs do not spell the list envelope out).
$params: Supported keys: limit, before, after.
Returns CursorPage<Payment>.
paymentLinks()->refund()
refund(string $id, array $attributes = []): Refund
Refund a payment collected through a payment link. The request is a flat body; the response is a standard {id, type, attributes} refund resource. Caveat: PayMongo documents this endpoint's request amount in pesos (major units), unlike every other amount, while the refund it returns carries amount in centavos.
$attributes: Supported keys: payment_id, amount (pesos), reason, metadata.
Returns Refund.
customers()
Paymongo::customers() returns Luigel\Paymongo\Services\CustomerService.
customers()->create()
create(array $attributes): Customer
$attributes: Supported keys: first_name, last_name, phone, email, default_device.
Returns Customer.
customers()->retrieve()
retrieve(string $id): Customer
Returns Customer.
customers()->update()
update(string $id, array $attributes): Customer
$attributes: Same keys ascreate().
Returns Customer.
customers()->delete()
delete(string $id): bool
Delete the customer. The client throws on failure, so reaching the return value always means the deletion succeeded.
Returns bool.
customers()->paymentMethods()
paymentMethods(string $customerId): array
The payment methods saved against the customer.
Returns list<CustomerPaymentMethod>.
customers()->deletePaymentMethod()
deletePaymentMethod(string $customerId, string $paymentMethodId): bool
Remove a saved payment method from the customer.
Returns bool.
plans()
Paymongo::plans() returns Luigel\Paymongo\Services\PlanService.
plans()->create()
create(array $attributes): Plan
$attributes: Supported keys: name, description, amount, currency, interval, interval_count, plan_type, cycle_count, metadata.
Returns Plan.
plans()->retrieve()
retrieve(string $id): Plan
Returns Plan.
plans()->update()
update(string $id, array $attributes): Plan
Returns Plan.
plans()->list()
list(array $params = []): CursorPage
$params: Supported keys: limit, before, after.
Returns CursorPage<Plan>.
subscriptions()
Paymongo::subscriptions() returns Luigel\Paymongo\Services\SubscriptionService.
subscriptions()->create()
create(string $customerId, string $planId): Subscription
Subscribe a customer to a plan.
Returns Subscription.
subscriptions()->retrieve()
retrieve(string $id): Subscription
Returns Subscription.
subscriptions()->list()
list(array $params = []): CursorPage
$params: Supported keys: limit, before, after.
Returns CursorPage<Subscription>.
subscriptions()->cancel()
cancel(string $id, CancellationReason|string $reason): Subscription
Cancel the subscription. PayMongo requires a cancellation reason.
Returns Subscription.
subscriptions()->changePlan()
changePlan(string $id, string $planId): Subscription
Move the subscription onto a different plan.
Returns Subscription.
subscriptions()->changePaymentMethod()
changePaymentMethod(string $id, string $paymentMethodId, ?string $redirectUrl = null): Subscription
Change the payment method future cycles are charged against.
$redirectUrl: Where the customer lands after authorizing the new method.
Returns Subscription.
subscriptions()->triggerTestCycle()
triggerTestCycle(string $id): void
Trigger an immediate billing cycle on a test-mode subscription.
Returns void.
qrph()
Paymongo::qrph() returns Luigel\Paymongo\Services\QrphService.
qrph()->generate()
generate(array $attributes): MpmQr
Generate an MPM QR code.
$attributes: Supported keys: nation, mode, type, transaction_currency, transaction_amount (dynamic only), expiry_seconds, qr_image, metadata.
Returns MpmQr.
qrph()->execute()
execute(array $attributes): QrExecution
Execute an MPM QR string, moving real money from the scanner's account. The response only acknowledges the request; PayMongo settles the transfer asynchronously.
$attributes: Supported keys: qr_string, amount, reference_number, metadata.
Returns QrExecution.
qrph()->retrieve()
retrieve(string $id, bool $qrString = false, bool $qrImage = false): MpmQr
Retrieve an MPM QR code, optionally including its QR string and rendered image.
Returns MpmQr.
qrph()->expire()
expire(string $id): MpmQr
Returns MpmQr.
qrph()->generateStatic()
generateStatic(array $attributes): StaticQr
Generate a static in-store QR Ph code via the v1 /qrph/generate endpoint (normal data.attributes envelope).
$attributes: Supported keys: kind ("instore", required), mobile_number, notes.
Returns StaticQr.
payouts()
Paymongo::payouts() returns Luigel\Paymongo\Services\PayoutService.
payouts()->list()
list(array $params = []): CursorTokenPage
$params: Supported keys: limit (default 20), after, before, search, payout_status (pending|on_hold|in_transit|deposited|returned|cancelled), provider (paymongo_central_hub|unionbank), created_at.between (YYYY-MM-DD..YYYY-MM-DD), sort_by (created_at|net_amount), order (asc|desc).
Returns CursorTokenPage<Payout>.
payouts()->retrieve()
retrieve(string $id): Payout
Returns Payout.
payouts()->transactions()
transactions(string $payoutId, array $params = []): CursorTokenPage
The transactions lined up in a payout.
$params: Supported keys: limit, after, before.
Returns CursorTokenPage<PayoutTransaction>.
payouts()->schedule()
schedule(string $merchantId): PayoutSchedule
The payout schedule of a merchant (organization id, e.g. org_...).
Returns PayoutSchedule.
disputes()
Paymongo::disputes() returns Luigel\Paymongo\Services\DisputeService.
disputes()->retrieve()
retrieve(string $id): Dispute
Returns Dispute.
disputes()->list()
list(array $params = []): CursorPage
$params: Supported keys: limit, before, after.
Returns CursorPage<Dispute>.