You're viewing a demo portfolio

Join the waitlist
PRSM

initiate_payment

Active

Tool of Synchronity

declared in 0.2.0

STEP 2 of the in-chat payment flow. Starts a payment session for an order and returns a PaymentSession with an `instruction` the agent renders in chat. REQUIRES a buyer_delegation_token — obtain it exactly like execute_checkout: call request_delegation, have the user approve in chat, then check_delegation to get the token (spending money always needs human approval). For channel "mobile_money" you MUST collect the buyer's `phone` (Ghana: 055… or +233…) and `provider` — use codes mtn, vod (Vodafone/Telecel), or tgo (AirtelTigo); aliases telecel→vod, tigo→tgo are accepted. ALWAYS quote the **Show this instruction to the buyer** line from the response verbatim (Paystack display_text). For channel "card", no phone/provider is needed; the response instruction contains an `authorization_url` you send the user to. After calling: if instruction.action == "submit_otp", ask the user for the OTP and call submit_payment_otp. If instruction.action == "approve_on_phone", tell the user to approve the prompt on their phone, then poll get_payment_status. If instruction.action == "redirect" (card), send the user the authorization_url, then poll get_payment_status.

Parameters schema

{
  "type": "object",
  "required": [
    "order_id",
    "channel"
  ],
  "properties": {
    "phone": {
      "type": "string",
      "description": "Buyer mobile-money phone number (required for channel \"mobile_money\")"
    },
    "channel": {
      "enum": [
        "mobile_money",
        "card"
      ],
      "type": "string",
      "description": "Payment channel chosen by the buyer (from get_payment_methods)"
    },
    "gateway": {
      "enum": [
        "paystack",
        "stripe",
        "paypal"
      ],
      "type": "string",
      "description": "Payment gateway to use when the store has more than one enabled (see get_payment_methods.gateways[].id). Optional — defaults to the store's first enabled gateway."
    },
    "site_id": {
      "type": "string",
      "description": "Registered site ID (optional if DEFAULT_SITE_ID is set)"
    },
    "order_id": {
      "type": "string",
      "description": "Order ID to pay for"
    },
    "provider": {
      "enum": [
        "mtn",
        "vod",
        "tgo",
        "telecel",
        "vodafone",
        "tigo",
        "airteltigo"
      ],
      "type": "string",
      "description": "Mobile-money provider (required for channel \"mobile_money\"). Codes: mtn, vod (Vodafone/Telecel), tgo (AirtelTigo)."
    },
    "buyer_delegation_token": {
      "type": "string",
      "description": "Delegation token from the buyer (from request_delegation/check_delegation). Required — payments always need human approval."
    }
  }
}

What this tool wraps· 0 endpoints

min confidence0.700.50

No endpoints wrapped at confidence ≥ 0.50.

Parent server

Synchronity

https://github.com/themewireco/synchronity

2/7 registries
View full server →
initiate_payment — Synchronity — PRSM MCP