{
  "query": "refund",
  "type": "all",
  "count": 10,
  "results": [
    {
      "type": "guide",
      "id": "partial-refund",
      "title": "Partial Refund",
      "summary": "Refund specific items or a reduced amount from a completed order. Process partial returns by creating a return order with only the items to be refunded.",
      "url": "https://surfpay.ai/guides/partial-refund.md",
      "score": 23
    },
    {
      "type": "guide",
      "id": "refund-an-order",
      "title": "Refund an Order",
      "summary": "Process a full refund by creating a return order with negative quantities. Covers the complete refund flow with API examples and payment method requirements.",
      "url": "https://surfpay.ai/guides/refund-an-order.md",
      "score": 23
    },
    {
      "type": "guide",
      "id": "payment-lifecycle",
      "title": "Payment Lifecycle",
      "summary": "Manage the full payment lifecycle from order creation through capture, void, cancel, and refund operations using the Surfboard Payments API.",
      "url": "https://surfpay.ai/guides/payment-lifecycle.md",
      "score": 13
    },
    {
      "type": "skill",
      "id": "surfboard-testing",
      "title": "surfboard-testing",
      "summary": "Test and verify a Surfboard Payments integration in the Demo environment: test cards, the payment lifecycle and its terminal states, capture, cancel, void, refund and partial refund, error codes, and proving an integration actually works before reporting success. Use when verifying an integration, debugging a failed payment, or implementing post-payment operations.",
      "url": "https://surfpay.ai/skills/surfboard-testing/SKILL.md",
      "score": 13
    },
    {
      "type": "guide",
      "id": "tokens",
      "title": "Tokens",
      "summary": "Turn a card used once into a card you can charge again. Enable tokenization on an order, fetch the token it produced, and store it for subscriptions, repeat purchases and refunds.",
      "url": "https://surfpay.ai/guides/tokens.md",
      "score": 7
    },
    {
      "type": "guide",
      "id": "b2b-invoices",
      "title": "B2B Invoices",
      "summary": "Bill a business buyer on payment terms instead of charging a card. Create an order paid with B2BINV, distribute the invoice as an e-invoice or by email, and credit it when the goods come back.",
      "url": "https://surfpay.ai/guides/b2b-invoices.md",
      "score": 3
    },
    {
      "type": "guide",
      "id": "cancel-a-payment",
      "title": "Cancel a Payment",
      "summary": "Stop an in-progress payment before it completes. Use cancellation when a customer abandons checkout or a payment needs to be halted mid-process.",
      "url": "https://surfpay.ai/guides/cancel-a-payment.md",
      "score": 3
    },
    {
      "type": "guide",
      "id": "create-an-order",
      "title": "Create an Order",
      "summary": "Learn how to create orders with line items, tax, customer details, and control functions. The starting point for accepting payments with the Surfboard API.",
      "url": "https://surfpay.ai/guides/create-an-order.md",
      "score": 3
    },
    {
      "type": "guide",
      "id": "create-order-error-codes",
      "title": "Create Order Error Codes",
      "summary": "Reference of error codes returned by the create order and initiate payment flows, with notes on when each is thrown and how to handle it.",
      "url": "https://surfpay.ai/guides/create-order-error-codes.md",
      "score": 3
    },
    {
      "type": "guide",
      "id": "online-payment-link",
      "title": "Online Payment Link",
      "summary": "Take a payment on the web without a checkout page of your own. Create an online store, verify its domains, create an order against the PaymentPage terminal it comes with, and send the customer the link it returns.",
      "url": "https://surfpay.ai/guides/online-payment-link.md",
      "score": 3
    }
  ]
}