{"apiVersion":"v1","directorySlug":"orbipay-mcp-8ce09920c7","title":"OrbiPay","description":"OrbiPay automatiza el cobro recurrente de tus suscripciones y deposita cada pago en tu cuenta bancaria.","pageUrl":"https://www.mcpbundles.com/skills/orbipay-mcp-8ce09920c7","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.orbipay.io/mcp","hostedMcpUrl":null,"toolCount":64,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"io.orbipay/orbipay-mcp-8ce09920c7","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"orbipay_get_account","description":"Retrieve the Orbipay account the active API key belongs to. Doubles as the credential test: a success means the key is valid and active, and the response says whether it is a live or sandbox account. Start here when unsure which account you are operating on.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_get_account","displayName":"orbipay_get_account","title":"orbipay_get_account"},{"name":"orbipay_list_customers","description":"List customers, newest first. Filter by free-text `search`, `status`, `external_id` or exact `email`. Use this to resolve a person's name to a cust_ id before charging them.","inputSchema":{"type":"object","properties":{"page":{"type":"number"},"email":{"type":"string"},"limit":{"type":"number"},"search":{"type":"string"},"status":{"enum":["active","inactive"],"type":"string"},"external_id":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_list_customers","displayName":"orbipay_list_customers","title":"orbipay_list_customers"},{"name":"orbipay_get_customer","description":"Retrieve one customer by its cust_ id.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_get_customer","displayName":"orbipay_get_customer","title":"orbipay_get_customer"},{"name":"orbipay_create_customer","description":"Create a customer. Requires profile.full_name, at least one contact email, and preferences (locale, currency, notification_channels). Moves no money.","inputSchema":{"type":"object","required":["profile","contacts","preferences"],"properties":{"nit":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"notes":{"type":"string"},"address":{"type":"string"},"profile":{"type":"object","required":["full_name"],"properties":{"full_name":{"type":"string"},"last_name":{"type":"string"},"first_name":{"type":"string"}}},"contacts":{"type":"object","required":["emails"],"properties":{"emails":{"type":"array","items":{"type":"string"}},"phones":{"type":"array","items":{"type":"object","required":["country_code","number","e164"],"properties":{"e164":{"type":"string"},"number":{"type":"string"},"country_code":{"type":"string"}}}},"additional_emails":{"type":"array","items":{"type":"object","required":["email"],"properties":{"email":{"type":"string"},"notification_types":{"type":"object"}}}}}},"external_id":{"type":"string"},"preferences":{"type":"object","required":["locale","currency","notification_channels"],"properties":{"locale":{"type":"string"},"currency":{"type":"string"},"notification_channels":{"type":"array","items":{"type":"string"}}}},"company_name":{"type":"string"},"billing_email":{"type":"string"},"customer_type":{"enum":["personal","company"],"type":"string"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_create_customer","displayName":"orbipay_create_customer","title":"orbipay_create_customer","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_update_customer","description":"Update a customer. Only the fields you send are changed. Customer status is not settable over the API.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"nit":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"notes":{"type":"string"},"address":{"type":"string"},"profile":{"type":"object","required":["full_name"],"properties":{"full_name":{"type":"string"},"last_name":{"type":"string"},"first_name":{"type":"string"}}},"contacts":{"type":"object","required":["emails"],"properties":{"emails":{"type":"array","items":{"type":"string"}},"phones":{"type":"array","items":{"type":"object","required":["country_code","number","e164"],"properties":{"e164":{"type":"string"},"number":{"type":"string"},"country_code":{"type":"string"}}}},"additional_emails":{"type":"array","items":{"type":"object","required":["email"],"properties":{"email":{"type":"string"},"notification_types":{"type":"object"}}}}}},"external_id":{"type":"string"},"preferences":{"type":"object","required":["locale","currency","notification_channels"],"properties":{"locale":{"type":"string"},"currency":{"type":"string"},"notification_channels":{"type":"array","items":{"type":"string"}}}},"company_name":{"type":"string"},"billing_email":{"type":"string"},"customer_type":{"enum":["personal","company"],"type":"string"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_update_customer","displayName":"orbipay_update_customer","title":"orbipay_update_customer","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_list_payment_methods","description":"List a customer's saved cards. Unpaginated — a customer holds few cards. Use the pm_ id to charge a saved card or to bind one to a subscription.","inputSchema":{"type":"object","required":["customer_id"],"properties":{"customer_id":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_list_payment_methods","displayName":"orbipay_list_payment_methods","title":"orbipay_list_payment_methods"},{"name":"orbipay_get_payment_method","description":"Retrieve one saved card of a customer.","inputSchema":{"type":"object","required":["customer_id","payment_method_id"],"properties":{"customer_id":{"type":"string"},"payment_method_id":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_get_payment_method","displayName":"orbipay_get_payment_method","title":"orbipay_get_payment_method"},{"name":"orbipay_delete_payment_method","description":"Remove (deactivate) a customer's saved card. Charge history keeps its reference. Fails with 409 when it is the customer's last active card and they still have active subscriptions.","inputSchema":{"type":"object","required":["customer_id","payment_method_id"],"properties":{"customer_id":{"type":"string"},"idempotency_key":{"type":"string"},"payment_method_id":{"type":"string"}}},"logicalName":"orbipay_delete_payment_method","displayName":"orbipay_delete_payment_method","title":"orbipay_delete_payment_method","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_create_setup_link","description":"Create a single-use link the payer opens to save a card WITHOUT paying. This is the only way to add a card over the API — raw card data is never accepted. Send the returned URL to the customer; the saved card then becomes usable for merchant-initiated charges.","inputSchema":{"type":"object","required":["customer_id"],"properties":{"customer_id":{"type":"string"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_create_setup_link","displayName":"orbipay_create_setup_link","title":"orbipay_create_setup_link","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_list_plans","description":"List subscription plans. Filter by `status` (available/archived) or free-text `search`.","inputSchema":{"type":"object","properties":{"page":{"type":"number"},"limit":{"type":"number"},"search":{"type":"string"},"status":{"enum":["available","archived"],"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_list_plans","displayName":"orbipay_list_plans","title":"orbipay_list_plans"},{"name":"orbipay_get_plan","description":"Retrieve one plan by its pl_ id.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_get_plan","displayName":"orbipay_get_plan","title":"orbipay_get_plan"},{"name":"orbipay_create_plan","description":"Create a subscription plan. `frequency` is fixed at creation — a live plan can never change its cycle, so get it right (quarterly is { interval: 'month', count: 3 }). Moves no money.","inputSchema":{"type":"object","required":["name","base_currency","base_amount_minor","frequency","billing_day_rule"],"properties":{"name":{"type":"string"},"valid_to":{"type":"string"},"frequency":{"type":"object","required":["interval","count"],"properties":{"count":{"type":"number"},"interval":{"enum":["day","week","month","year"],"type":"string"}}},"trial_days":{"type":"number"},"valid_from":{"type":"string"},"billing_day":{"type":"number"},"base_currency":{"type":"string"},"internal_code":{"type":"string"},"proration_mode":{"enum":["auto","always","never"],"type":"string"},"idempotency_key":{"type":"string"},"alternate_prices":{"type":"array","items":{"type":"object","required":["label","currency","amount_minor"],"properties":{"label":{"type":"string"},"currency":{"type":"string"},"amount_minor":{"type":"number"}}}},"billing_day_rule":{"enum":["same_day_as_signup","first_of_month","fifteenth_of_month","last_day_of_month","specific_day"],"type":"string"},"default_services":{"type":"array","items":{"type":"object","required":["service_id","pre_marked"],"properties":{"pre_marked":{"type":"boolean"},"service_id":{"type":"string"}}}},"long_description":{"type":"string"},"base_amount_minor":{"type":"number"}}},"logicalName":"orbipay_create_plan","displayName":"orbipay_create_plan","title":"orbipay_create_plan","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_update_plan","description":"Update a plan. The billing frequency cannot be changed here — it is immutable. Existing subscriptions keep billing on their own frozen snapshot of the plan.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"status":{"enum":["available","archived"],"type":"string"},"valid_to":{"type":"string"},"trial_days":{"type":"number"},"valid_from":{"type":"string"},"billing_day":{"type":"number"},"base_currency":{"type":"string"},"internal_code":{"type":"string"},"proration_mode":{"enum":["auto","always","never"],"type":"string"},"idempotency_key":{"type":"string"},"alternate_prices":{"type":"array","items":{"type":"object","required":["label","currency","amount_minor"],"properties":{"label":{"type":"string"},"currency":{"type":"string"},"amount_minor":{"type":"number"}}}},"billing_day_rule":{"enum":["same_day_as_signup","first_of_month","fifteenth_of_month","last_day_of_month","specific_day"],"type":"string"},"default_services":{"type":"array","items":{"type":"object","required":["service_id","pre_marked"],"properties":{"pre_marked":{"type":"boolean"},"service_id":{"type":"string"}}}},"long_description":{"type":"string"},"base_amount_minor":{"type":"number"}}},"logicalName":"orbipay_update_plan","displayName":"orbipay_update_plan","title":"orbipay_update_plan","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_archive_plan","description":"Archive a plan: hides it from new subscriptions. Existing subscriptions keep billing on their frozen snapshot, so this does not cancel anything.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_archive_plan","displayName":"orbipay_archive_plan","title":"orbipay_archive_plan","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_list_services","description":"List catalog services. A service is a reusable priced item you can put on a charge line, a checkout line, or attach to a subscription.","inputSchema":{"type":"object","properties":{"page":{"type":"number"},"type":{"enum":["one_time","recurring"],"type":"string"},"limit":{"type":"number"},"search":{"type":"string"},"status":{"enum":["available","archived"],"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_list_services","displayName":"orbipay_list_services","title":"orbipay_list_services"},{"name":"orbipay_get_service","description":"Retrieve one catalog service by its svc_ id.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_get_service","displayName":"orbipay_get_service","title":"orbipay_get_service"},{"name":"orbipay_create_service","description":"Create a catalog service. `one_time` bills once; `recurring` has no cycle of its own and inherits the plan or subscription it is attached to. Moves no money.","inputSchema":{"type":"object","required":["name","type","currency","amount_minor"],"properties":{"name":{"type":"string"},"type":{"enum":["one_time","recurring"],"type":"string"},"currency":{"type":"string"},"valid_to":{"type":"string"},"valid_from":{"type":"string"},"fiscal_type":{"enum":["service","good","other"],"type":"string"},"amount_minor":{"type":"number"},"internal_code":{"type":"string"},"idempotency_key":{"type":"string"},"long_description":{"type":"string"}}},"logicalName":"orbipay_create_service","displayName":"orbipay_create_service","title":"orbipay_create_service","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_update_service","description":"Update a catalog service. Only the fields you send are changed.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"enum":["one_time","recurring"],"type":"string"},"status":{"enum":["available","archived"],"type":"string"},"currency":{"type":"string"},"valid_to":{"type":"string"},"valid_from":{"type":"string"},"fiscal_type":{"enum":["service","good","other"],"type":"string"},"amount_minor":{"type":"number"},"internal_code":{"type":"string"},"idempotency_key":{"type":"string"},"long_description":{"type":"string"}}},"logicalName":"orbipay_update_service","displayName":"orbipay_update_service","title":"orbipay_update_service","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_archive_service","description":"Archive a catalog service: hides it from new attachments. Subscriptions already carrying it keep billing it.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_archive_service","displayName":"orbipay_archive_service","title":"orbipay_archive_service","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_list_discounts","description":"List discount codes, optionally filtered by status.","inputSchema":{"type":"object","properties":{"page":{"type":"number"},"limit":{"type":"number"},"status":{"enum":["active","inactive"],"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_list_discounts","displayName":"orbipay_list_discounts","title":"orbipay_list_discounts"},{"name":"orbipay_get_discount","description":"Retrieve one discount code by its dsc_ id.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_get_discount","displayName":"orbipay_get_discount","title":"orbipay_get_discount"},{"name":"orbipay_create_discount","description":"Create a discount code. `code` is uppercased and must be unique in the account. For `percentage` the value is 0–100; for `fixed_amount` it is integer minor units and `currency` is required.","inputSchema":{"type":"object","required":["code","type","value"],"properties":{"code":{"type":"string"},"type":{"enum":["percentage","fixed_amount"],"type":"string"},"value":{"type":"number"},"currency":{"type":"string"},"max_uses":{"type":"number"},"plan_ids":{"type":"array","items":{"type":"string"}},"valid_to":{"type":"string"},"applies_to":{"enum":["all","specific_plans","specific_services"],"type":"string"},"valid_from":{"type":"string"},"service_ids":{"type":"array","items":{"type":"string"}},"idempotency_key":{"type":"string"},"min_amount_minor":{"type":"number"},"first_charge_only":{"type":"boolean"}}},"logicalName":"orbipay_create_discount","displayName":"orbipay_create_discount","title":"orbipay_create_discount","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_update_discount","description":"Update a discount code's targeting and limits. `code`, `type` and `value` are immutable — create a new code instead of changing what an existing one grants.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"max_uses":{"type":"number"},"plan_ids":{"type":"array","items":{"type":"string"}},"valid_to":{"type":"string"},"applies_to":{"enum":["all","specific_plans","specific_services"],"type":"string"},"valid_from":{"type":"string"},"service_ids":{"type":"array","items":{"type":"string"}},"idempotency_key":{"type":"string"},"min_amount_minor":{"type":"number"},"first_charge_only":{"type":"boolean"}}},"logicalName":"orbipay_update_discount","displayName":"orbipay_update_discount","title":"orbipay_update_discount","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_activate_discount","description":"Activate a discount code so it can be redeemed.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_activate_discount","displayName":"orbipay_activate_discount","title":"orbipay_activate_discount","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_deactivate_discount","description":"Deactivate a discount code so it stops being redeemable.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_deactivate_discount","displayName":"orbipay_deactivate_discount","title":"orbipay_deactivate_discount","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_list_charges","description":"List charges, filterable by customer, subscription, status and a from/to window on created_at. Sortable by created_at, amount_minor, status or updated_at.","inputSchema":{"type":"object","properties":{"to":{"type":"string"},"from":{"type":"string"},"page":{"type":"number"},"limit":{"type":"number"},"search":{"type":"string"},"status":{"type":"string"},"sort_by":{"enum":["created_at","amount_minor","status","updated_at"],"type":"string"},"sort_order":{"enum":["asc","desc"],"type":"string"},"customer_id":{"type":"string"},"subscription_id":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_list_charges","displayName":"orbipay_list_charges","title":"orbipay_list_charges"},{"name":"orbipay_get_charge","description":"Retrieve one charge by its ch_ id. Poll this to follow a pay-link charge to `succeeded`, or subscribe to the charge.paid webhook instead.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_get_charge","displayName":"orbipay_get_charge","title":"orbipay_get_charge"},{"name":"orbipay_list_charge_attempts","description":"List every payment, void and refund attempt on a charge, oldest first. Use this to explain WHY a charge failed. Unpaginated.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_list_charge_attempts","displayName":"orbipay_list_charge_attempts","title":"orbipay_list_charge_attempts"},{"name":"orbipay_create_charge","description":"⚠️ MOVES REAL MONEY in live mode. Create a charge. WITHOUT `payment_method_id` this only mints a hosted pay-link (`pay_url` in the response) and captures nothing until the payer pays — that is the safe, normal path, and `send_email: true` mails the link. WITH `payment_method_id` the saved card is charged IMMEDIATELY and real money moves, which needs `confirm_live: true` on a live key. Amounts are integer minor units. Never put card data in `metadata`.","inputSchema":{"type":"object","required":["customer_id","currency","lines"],"properties":{"lines":{"type":"array","items":{"type":"object","required":["kind"],"properties":{"kind":{"enum":["manual","service"],"type":"string"},"quantity":{"type":"number"},"service_id":{"type":"string"},"unit_amount_minor":{"type":"number"}}}},"currency":{"type":"string"},"metadata":{"type":"object"},"send_email":{"type":"boolean"},"customer_id":{"type":"string"},"confirm_live":{"type":"boolean"},"external_ref":{"type":"string"},"tax_inclusive":{"type":"boolean"},"expiration_days":{"type":"number"},"idempotency_key":{"type":"string"},"payment_method_id":{"type":"string"},"require_save_card":{"type":"boolean"},"scheduled_send_at":{"type":"string"},"external_references":{"type":"object"}}},"logicalName":"orbipay_create_charge","displayName":"orbipay_create_charge","title":"orbipay_create_charge","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_cancel_charge","description":"Cancel a charge that has not been paid. Use this to kill a pending pay-link charge. For a charge that already succeeded use void (within 24h) or refund.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_cancel_charge","displayName":"orbipay_cancel_charge","title":"orbipay_cancel_charge","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_void_charge","description":"⚠️ MOVES REAL MONEY in live mode. Void a charge: reverses the authorization before settlement. Allowed while the charge is processing, or within 24 hours of success — outside that window use refund instead.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"reason":{"type":"string"},"confirm_live":{"type":"boolean"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_void_charge","displayName":"orbipay_void_charge","title":"orbipay_void_charge","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_refund_charge","description":"⚠️ MOVES REAL MONEY in live mode. Refund a charge. Full refund by default; send `amount_minor` for a partial one — not every processor supports partial refunds. `include_fees` also credits back the proportional settlement fees (defaults to false).","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"reason":{"type":"string"},"amount_minor":{"type":"number"},"confirm_live":{"type":"boolean"},"include_fees":{"type":"boolean"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_refund_charge","displayName":"orbipay_refund_charge","title":"orbipay_refund_charge","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_retry_charge","description":"⚠️ MOVES REAL MONEY in live mode. Retry a failed charge: runs a fresh attempt against a saved card and counts against the platform transaction throttle. Omitting `payment_method_id` lets Orbipay pick the customer's usable card. Pass an explicit `idempotency_key` so a retried retry cannot double-charge.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"confirm_live":{"type":"boolean"},"idempotency_key":{"type":"string"},"payment_method_id":{"type":"string"}}},"logicalName":"orbipay_retry_charge","displayName":"orbipay_retry_charge","title":"orbipay_retry_charge","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_list_subscriptions","description":"List subscriptions. Filter by customer, plan, status, next-charge window, creation window, or `card_expiring: true` to find the ones about to fail for an expiring card.","inputSchema":{"type":"object","properties":{"page":{"type":"number"},"limit":{"type":"number"},"search":{"type":"string"},"status":{"type":"string"},"plan_id":{"type":"string"},"created_to":{"type":"string"},"customer_id":{"type":"string"},"created_from":{"type":"string"},"card_expiring":{"type":"boolean"},"next_charge_to":{"type":"string"},"next_charge_from":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_list_subscriptions","displayName":"orbipay_list_subscriptions","title":"orbipay_list_subscriptions"},{"name":"orbipay_get_subscription","description":"Retrieve one subscription by its sub_ id.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_get_subscription","displayName":"orbipay_get_subscription","title":"orbipay_get_subscription"},{"name":"orbipay_preview_subscription","description":"Quote a would-be subscription WITHOUT creating it: first-charge lines, totals, proration and any trial breakdown. Pure computation, nothing is persisted. Run this before orbipay_create_subscription to show the customer what they will be charged.","inputSchema":{"type":"object","required":["plan_id"],"properties":{"plan_id":{"type":"string"},"overrides":{"type":"object","properties":{"currency":{"type":"string"},"trial_days":{"type":"number"},"billing_day":{"type":"number"},"amount_minor":{"type":"number"},"proration_mode":{"enum":["auto","full","none"],"type":"string"},"billing_day_rule":{"enum":["plan_default","specific_day","signup_day","first_of_month","last_of_month"],"type":"string"}}},"start_date":{"type":"string"},"attached_services":{"type":"array","items":{"type":"object","required":["service_id","quantity"],"properties":{"quantity":{"type":"number"},"service_id":{"type":"string"},"one_time_billing":{"enum":["first_charge","scheduled"],"type":"string"},"one_time_billing_date":{"type":"string"}}}}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_preview_subscription","displayName":"orbipay_preview_subscription","title":"orbipay_preview_subscription"},{"name":"orbipay_create_subscription","description":"⚠️ MOVES REAL MONEY in live mode. Create a subscription for a customer against a plan. With `payment_method_id` AND `start_mode: immediate` (the default) the first recurring charge runs against the saved card right away — that needs `confirm_live: true` on a live key. Use `draft`, `scheduled` or `hold_recurrence` to set it up without billing now. Preview it first with orbipay_preview_subscription.","inputSchema":{"type":"object","required":["customer_id","plan_id"],"properties":{"plan_id":{"type":"string"},"end_date":{"type":"string"},"end_mode":{"enum":["never","specific_date","after_n_charges"],"type":"string"},"overrides":{"type":"object","properties":{"currency":{"type":"string"},"trial_days":{"type":"number"},"billing_day":{"type":"number"},"amount_minor":{"type":"number"},"proration_mode":{"enum":["auto","full","none"],"type":"string"},"billing_day_rule":{"enum":["plan_default","specific_day","signup_day","first_of_month","last_of_month"],"type":"string"}}},"start_mode":{"enum":["immediate","scheduled","draft","hold_recurrence"],"type":"string"},"customer_id":{"type":"string"},"confirm_live":{"type":"boolean"},"idempotency_key":{"type":"string"},"attached_services":{"type":"array","items":{"type":"object","required":["service_id","quantity"],"properties":{"quantity":{"type":"number"},"service_id":{"type":"string"},"one_time_billing":{"enum":["first_charge","scheduled"],"type":"string"},"one_time_billing_date":{"type":"string"}}}},"payment_method_id":{"type":"string"},"external_reference":{"type":"string"},"max_billing_cycles":{"type":"number"},"external_references":{"type":"object"},"scheduled_start_date":{"type":"string"}}},"logicalName":"orbipay_create_subscription","displayName":"orbipay_create_subscription","title":"orbipay_create_subscription","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_update_subscription","description":"Update a subscription's overrides, end conditions or external reference. Only the fields you send are changed. Status is NOT settable here — use pause/resume/cancel. Plan changes go through orbipay_change_subscription_plan. `cancel_at_period_end: true` schedules the end at the current period's close instead of cancelling now.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"end_date":{"type":"string"},"end_mode":{"enum":["never","specific_date","after_n_charges"],"type":"string"},"overrides":{"type":"object","properties":{"currency":{"type":"string"},"trial_days":{"type":"number"},"billing_day":{"type":"number"},"amount_minor":{"type":"number"},"proration_mode":{"enum":["auto","full","none"],"type":"string"},"billing_day_rule":{"enum":["plan_default","specific_day","signup_day","first_of_month","last_of_month"],"type":"string"}}},"idempotency_key":{"type":"string"},"external_reference":{"type":"string"},"max_billing_cycles":{"type":"number"},"cancel_at_period_end":{"type":"boolean"}}},"logicalName":"orbipay_update_subscription","displayName":"orbipay_update_subscription","title":"orbipay_update_subscription","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_pause_subscription","description":"Pause an active subscription. Only an active subscription can be paused.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_pause_subscription","displayName":"orbipay_pause_subscription","title":"orbipay_pause_subscription","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_resume_subscription","description":"Resume a paused subscription. Only a paused subscription can be resumed.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_resume_subscription","displayName":"orbipay_resume_subscription","title":"orbipay_resume_subscription","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_cancel_subscription","description":"Cancel a subscription now. To let the current paid period finish instead, use orbipay_update_subscription with `cancel_at_period_end: true`.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_cancel_subscription","displayName":"orbipay_cancel_subscription","title":"orbipay_cancel_subscription","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_change_subscription_plan","description":"Move a subscription to a different plan. Immediate and frequency-locked: the new plan must share the current billing frequency. To change the frequency itself use orbipay_change_subscription_cycle.","inputSchema":{"type":"object","required":["id","plan_id"],"properties":{"id":{"type":"string"},"plan_id":{"type":"string"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_change_subscription_plan","displayName":"orbipay_change_subscription_plan","title":"orbipay_change_subscription_plan","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_preview_subscription_cycle_change","description":"Quote a billing-cycle change WITHOUT applying it: suggested amount, prorated credit and the new anchor date. Pure computation, nothing is persisted. Always run this before orbipay_change_subscription_cycle.","inputSchema":{"type":"object","required":["id","interval","interval_count","amount_minor","mode"],"properties":{"id":{"type":"string"},"mode":{"enum":["period_end","now_prorated"],"type":"string"},"interval":{"enum":["day","week","month","year"],"type":"string"},"amount_minor":{"type":"number"},"interval_count":{"type":"number"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_preview_subscription_cycle_change","displayName":"orbipay_preview_subscription_cycle_change","title":"orbipay_preview_subscription_cycle_change"},{"name":"orbipay_change_subscription_cycle","description":"⚠️ MOVES REAL MONEY in live mode. Change a subscription's billing cycle and amount. `period_end` lets the current cycle finish as sold; `now_prorated` closes it today and credits the unused remainder. Active or paused subscriptions only; metered subscriptions are blocked. Preview it first with orbipay_preview_subscription_cycle_change.","inputSchema":{"type":"object","required":["id","interval","interval_count","amount_minor","mode"],"properties":{"id":{"type":"string"},"mode":{"enum":["period_end","now_prorated"],"type":"string"},"interval":{"enum":["day","week","month","year"],"type":"string"},"amount_minor":{"type":"number"},"confirm_live":{"type":"boolean"},"interval_count":{"type":"number"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_change_subscription_cycle","displayName":"orbipay_change_subscription_cycle","title":"orbipay_change_subscription_cycle","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_list_checkouts","description":"List hosted checkout sessions, newest first. Filter by status (open/completed/expired), customer, and a from/to window on created_at.","inputSchema":{"type":"object","properties":{"to":{"type":"string"},"from":{"type":"string"},"page":{"type":"number"},"limit":{"type":"number"},"status":{"enum":["open","completed","expired"],"type":"string"},"customer_id":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_list_checkouts","displayName":"orbipay_list_checkouts","title":"orbipay_list_checkouts"},{"name":"orbipay_get_checkout","description":"Retrieve one checkout session. Once `completed` it carries what it minted: `customer_id` plus `charge_id` XOR `subscription_id`, and `completed_at`. This and the checkout.completed webhook are the truth about a session — never the return URL's query string.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_get_checkout","displayName":"orbipay_get_checkout","title":"orbipay_get_checkout"},{"name":"orbipay_create_checkout","description":"Open a single-use hosted checkout session and get its `checkout_url` to send to the payer. Creating a session MOVES NO MONEY and is not transaction-throttled — the charge or subscription is minted only at completion, so an abandoned checkout leaves zero residue.","inputSchema":{"type":"object","properties":{"lines":{"type":"array","items":{"type":"object","required":["kind"],"properties":{"kind":{"enum":["manual","service"],"type":"string"},"quantity":{"type":"number"},"service_id":{"type":"string"},"unit_amount_minor":{"type":"number"},"adjustable_quantity":{"type":"object","required":["enabled"],"properties":{"max":{"type":"number"},"min":{"type":"number"},"enabled":{"type":"boolean"}}}}}},"plan_id":{"type":"string"},"currency":{"type":"string"},"metadata":{"type":"object"},"overrides":{"type":"object","properties":{"currency":{"type":"string"},"trial_days":{"type":"number"},"billing_day":{"type":"number"},"amount_minor":{"type":"number"},"proration_mode":{"enum":["auto","full","none"],"type":"string"},"billing_day_rule":{"enum":["plan_default","specific_day","signup_day","first_of_month","last_of_month"],"type":"string"}}},"cancel_url":{"type":"string"},"customer_id":{"type":"string"},"success_url":{"type":"string"},"external_ref":{"type":"string"},"customer_name":{"type":"string"},"customer_email":{"type":"string"},"idempotency_key":{"type":"string"},"expires_in_hours":{"type":"number"},"attached_services":{"type":"array","items":{"type":"object","required":["service_id","quantity"],"properties":{"quantity":{"type":"number"},"service_id":{"type":"string"},"one_time_billing":{"enum":["first_charge","scheduled"],"type":"string"},"one_time_billing_date":{"type":"string"}}}},"require_save_card":{"type":"boolean"}}},"logicalName":"orbipay_create_checkout","displayName":"orbipay_create_checkout","title":"orbipay_create_checkout","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_expire_checkout","description":"Close an `open` checkout session early and fire checkout.expired. Returns 409 (upstream_code CHECKOUT_NOT_OPEN) if the session is not open. A payer who simply abandons the page leaves it open until it lapses on its own — use this when you want it dead now.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_expire_checkout","displayName":"orbipay_expire_checkout","title":"orbipay_expire_checkout","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_list_reports","description":"List the account's most recent report exports, newest first.","inputSchema":{"type":"object","properties":{"page":{"type":"number"},"limit":{"type":"number"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_list_reports","displayName":"orbipay_list_reports","title":"orbipay_list_reports"},{"name":"orbipay_get_report","description":"Retrieve one report by its rr_ id. Poll this until `status` is `ready`, or subscribe to the report.completed webhook instead of polling.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_get_report","displayName":"orbipay_get_report","title":"orbipay_get_report"},{"name":"orbipay_download_report","description":"Get a freshly-signed, short-lived download URL for a report whose status is `ready`. Returns the URL rather than the CSV itself — hand it to the user. Report rows are kept 7 days.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_download_report","displayName":"orbipay_download_report","title":"orbipay_download_report"},{"name":"orbipay_create_report","description":"Request an asynchronous CSV export. Returns the report in `queued` status — then poll orbipay_get_report until `ready` and call orbipay_download_report. Types: `settlement` (alias `transactions`) and `failed_charges`.","inputSchema":{"type":"object","required":["type"],"properties":{"type":{"enum":["settlement","transactions","failed_charges"],"type":"string"},"params":{"type":"object","properties":{"date_to":{"type":"string"},"date_from":{"type":"string"},"fee_detail":{"enum":["detailed","condensed"],"type":"string"},"customer_id":{"type":"string"},"processor_id":{"type":"string"},"include_attempts":{"type":"boolean"}}},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_create_report","displayName":"orbipay_create_report","title":"orbipay_create_report","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_ingest_usage_events","description":"Submit 1–500 usage events for metered subscriptions. Returns 202 with a PER-ITEM result array in input order: accepted | duplicate | rejected (with a `reason` such as unknown_meter, subscription_not_found, timestamp_too_old, timestamp_in_future). Always read that array — a 202 does not mean every event landed.","inputSchema":{"type":"object","required":["events"],"properties":{"events":{"type":"array","items":{"type":"object","required":["meter_code","subscription_id","idempotency_key"],"properties":{"quantity":{"type":"number"},"timestamp":{"type":"string"},"meter_code":{"type":"string"},"properties":{"type":"object"},"idempotency_key":{"type":"string"},"subscription_id":{"type":"string"}}}},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_ingest_usage_events","displayName":"orbipay_ingest_usage_events","title":"orbipay_ingest_usage_events","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_list_webhook_endpoints","description":"List registered webhook endpoints. Signing secrets are never returned.","inputSchema":{"type":"object","properties":{"page":{"type":"number"},"limit":{"type":"number"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_list_webhook_endpoints","displayName":"orbipay_list_webhook_endpoints","title":"orbipay_list_webhook_endpoints"},{"name":"orbipay_get_webhook_endpoint","description":"Retrieve one webhook endpoint by its whe_ id. The signing secret is never returned.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_get_webhook_endpoint","displayName":"orbipay_get_webhook_endpoint","title":"orbipay_get_webhook_endpoint"},{"name":"orbipay_list_webhook_deliveries","description":"List delivery attempts for a webhook endpoint, newest first. `pending` rows are still on the retry schedule (immediate, +1m, +5m, +30m, +2h, +6h, +12h, +24h). Use this to diagnose why an endpoint was auto-disabled.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"page":{"type":"number"},"limit":{"type":"number"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"orbipay_list_webhook_deliveries","displayName":"orbipay_list_webhook_deliveries","title":"orbipay_list_webhook_deliveries"},{"name":"orbipay_create_webhook_endpoint","description":"Register a webhook endpoint. ⚠️ The response is the ONLY place the signing secret (whsec_…) is ever returned — surface it to the user immediately and tell them to store it somewhere safe; it cannot be rotated or re-read, only replaced by deleting the endpoint. `events` is explicit: there is no implicit 'all'. The URL must be HTTPS and resolve to a public address.","inputSchema":{"type":"object","required":["url","events"],"properties":{"url":{"type":"string"},"events":{"type":"array","items":{"enum":["charge.created","charge.paid","charge.failed","charge.canceled","charge.voided","charge.refunded","subscription.created","subscription.updated","subscription.paused","subscription.resumed","subscription.past_due","subscription.canceled","subscription.reactivated","customer.created","customer.updated","payment_method.created","payment_method.updated","payment_method.expiring","report.completed","checkout.completed","checkout.expired"],"type":"string"}},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_create_webhook_endpoint","displayName":"orbipay_create_webhook_endpoint","title":"orbipay_create_webhook_endpoint","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_update_webhook_endpoint","description":"Update a webhook endpoint's URL, event list, label or active flag. Set `active: true` to re-enable an endpoint auto-disabled after three days of total delivery failure. The signing secret CANNOT be rotated here — delete the endpoint and create a new one.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"url":{"type":"string"},"active":{"type":"boolean"},"events":{"type":"array","items":{"enum":["charge.created","charge.paid","charge.failed","charge.canceled","charge.voided","charge.refunded","subscription.created","subscription.updated","subscription.paused","subscription.resumed","subscription.past_due","subscription.canceled","subscription.reactivated","customer.created","customer.updated","payment_method.created","payment_method.updated","payment_method.expiring","report.completed","checkout.completed","checkout.expired"],"type":"string"}},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_update_webhook_endpoint","displayName":"orbipay_update_webhook_endpoint","title":"orbipay_update_webhook_endpoint","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_delete_webhook_endpoint","description":"Delete a webhook endpoint. Its signing secret dies with it and cannot be recovered — any receiver still verifying against that secret will break.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"string"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_delete_webhook_endpoint","displayName":"orbipay_delete_webhook_endpoint","title":"orbipay_delete_webhook_endpoint","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_test_webhook_endpoint","description":"Deliver a synthetic event to an endpoint synchronously and return the result. The payload is marked livemode:false. Works even when the endpoint is inactive, and is never retried.","inputSchema":{"type":"object","required":["id","event_type"],"properties":{"id":{"type":"string"},"event_type":{"enum":["charge.created","charge.paid","charge.failed","charge.canceled","charge.voided","charge.refunded","subscription.created","subscription.updated","subscription.paused","subscription.resumed","subscription.past_due","subscription.canceled","subscription.reactivated","customer.created","customer.updated","payment_method.created","payment_method.updated","payment_method.expiring","report.completed","checkout.completed","checkout.expired"],"type":"string"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_test_webhook_endpoint","displayName":"orbipay_test_webhook_endpoint","title":"orbipay_test_webhook_endpoint","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_simulate_charge","description":"TEST MODE ONLY — works only with an sk_test_ key on its sandbox account; a live key sees the target as not found (404). Moves no real money and does not count against the transaction throttle. Drive a sandbox charge to paid, failed, voided or refunded, firing the matching charge.* webhook with livemode:false.","inputSchema":{"type":"object","required":["id","outcome"],"properties":{"id":{"type":"string"},"outcome":{"enum":["paid","failed","voided","refunded"],"type":"string"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_simulate_charge","displayName":"orbipay_simulate_charge","title":"orbipay_simulate_charge","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_simulate_subscription_renewal","description":"TEST MODE ONLY — works only with an sk_test_ key on its sandbox account; a live key sees the target as not found (404). Moves no real money and does not count against the transaction throttle. Mint and resolve the next-cycle charge for a sandbox subscription. This is the ONLY clock a sandbox subscription has: it closes the period, mints the next cycle's charge and fires the same webhooks as a real renewal. `event` is `renewal` in v1.","inputSchema":{"type":"object","required":["id","event","outcome"],"properties":{"id":{"type":"string"},"event":{"enum":["renewal"],"type":"string"},"outcome":{"enum":["paid","failed"],"type":"string"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_simulate_subscription_renewal","displayName":"orbipay_simulate_subscription_renewal","title":"orbipay_simulate_subscription_renewal","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_simulate_payment_method","description":"TEST MODE ONLY — works only with an sk_test_ key on its sandbox account; a live key sees the target as not found (404). Moves no real money and does not count against the transaction throttle. Mint a fake saved card on a sandbox customer so renewals and saved-card charges can be simulated. Every field is optional — billing fills defaults.","inputSchema":{"type":"object","required":["customer_id"],"properties":{"brand":{"type":"string"},"last4":{"type":"string"},"exp_year":{"type":"number"},"exp_month":{"type":"number"},"customer_id":{"type":"string"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_simulate_payment_method","displayName":"orbipay_simulate_payment_method","title":"orbipay_simulate_payment_method","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"orbipay_simulate_checkout","description":"TEST MODE ONLY — works only with an sk_test_ key on its sandbox account; a live key sees the target as not found (404). Moves no real money and does not count against the transaction throttle. Drive a sandbox checkout session to `completed` with the FULL completion side-effects and no card: the customer is found-or-created, the charge or subscription is minted, and checkout.completed fires alongside the minted resource's own events. On a guest session the sandbox invents the identity (checkout+<","inputSchema":{"type":"object","required":["id","outcome"],"properties":{"id":{"type":"string"},"outcome":{"enum":["completed"],"type":"string"},"idempotency_key":{"type":"string"}}},"logicalName":"orbipay_simulate_checkout","displayName":"orbipay_simulate_checkout","title":"orbipay_simulate_checkout","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=OrbiPay&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3Aub3JiaXBheS5pby9tY3AifQ%3D%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22OrbiPay%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.orbipay.io%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22OrbiPay%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.orbipay.io%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=OrbiPay&connectorUrl=https%3A%2F%2Fmcp.orbipay.io%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"OrbiPay\" --url \"https://mcp.orbipay.io/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/orbipay-mcp-8ce09920c7","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/orbipay-mcp-8ce09920c7/tools/{tool}","mcpServerUrl":"https://mcp.orbipay.io/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/orbipay-mcp-8ce09920c7?live=1"}