Skip to content

retry-order-payment

Method: POST
Path: /orders/{order_number}/retry-payment

Tags: Orders

Summary

Retry payment

Description

To generate new payment request if first payment request is failed or expired. Retry payment request can be made after 15 mins of last request or immediately after last payment request is marked as failed.

Storefront SDK Usage

SDK Method: sdk.order.retryOrderPayment()

Example:

typescript
// Juspay Hyper Checkout - Redirects to hosted payment page
const { data, error } = await sdk.order.retryOrderPayment(
  { order_number: "ORD-2024-001" },
  {
    payment_method: {
      payment_provider_slug: "juspay",
      integration_type: "hyper-checkout",
      gateway_reference_id: "gateway_ref_123",
      return_url: "https://yourapp.com/payment/return",
      action: "paymentPage"
    }
  }
);

// Juspay Express Checkout - UPI Collect
const { data, error } = await sdk.order.retryOrderPayment(
  { order_number: "ORD-2024-001" },
  {
    payment_method: {
      payment_provider_slug: "juspay",
      integration_type: "express-checkout",
      gateway_reference_id: "gateway_ref_123",
      return_url: "https://yourapp.com/payment/return",
      payment_method_type: "UPI",
      payment_method: "UPI_COLLECT",
      upi_vpa: "user@upi"
    }
  }
);

if (error) {
  console.error("Failed to retry payment:", error.message);
} else {
  console.log("Payment retry initiated");
  console.log("Payment info:", data.payment_info);

  // For hyper-checkout, redirect to payment page
  if ("payment_links" in data.payment_info) {
    window.location.href = data.payment_info.payment_links?.web;
  }
}

TypeScript Definition

typescript
"retry-order-payment": {
        parameters: {
            query?: never;
            header?: never;
            path: {
                /** @description order number */
                order_number: string;
            };
            cookie?: never;
        };
        requestBody: {
            content: {
                "application/json": {
                    payment_method?: components["schemas"]["PaymentMethodPayload"];
                };
            };
        };
        responses: {
            /** @description OK */
            200: {
                headers: {
                    [name: string]: unknown;
                };
                content: {
                    "application/json": {
                        message: string;
                        success: boolean;
                        content: {
                            payment_info: components["schemas"]["JusPayHyperCheckoutResponse"] | components["schemas"]["JusPayExpressCheckoutResponse"] | components["schemas"]["PayuPaymentInfo"];
                        };
                    };
                };
            };
            400: components["responses"]["BadRequest"];
            401: components["responses"]["Unauthorized"];
            404: components["responses"]["NotFound"];
        };
    };

Component References

ReferenceResolves To
components["schemas"]["PaymentMethodPayload"]PaymentMethodPayload
components["schemas"]["JusPayHyperCheckoutResponse"]JusPayHyperCheckoutResponse
components["schemas"]["JusPayExpressCheckoutResponse"]JusPayExpressCheckoutResponse
components["schemas"]["PayuPaymentInfo"]PayuPaymentInfo
components["responses"]["BadRequest"]BadRequest
components["responses"]["Unauthorized"]Unauthorized
components["responses"]["NotFound"]NotFound

Parameters

  • order_number (path): order number

Request Body

Content Types: application/json

Responses

200

OK

400

Bad request

401

Not authorized for given operation on the Resource

404

Requested resource not found

OpenAPI Definition

json
{
  "tags": [
    "Orders"
  ],
  "operationId": "retry-order-payment",
  "summary": "Retry payment",
  "description": "To generate new payment request if first payment request is failed or expired. Retry payment request can be made after 15 mins of last request or immediately after last payment request is marked as failed.",
  "externalDocs": {
    "url": "https://llm-docs.commercengine.io/storefront/operations/retry-order-payment",
    "description": "API reference for the retry-order-payment operation"
  },
  "parameters": [
    {
      "name": "order_number",
      "in": "path",
      "description": "order number",
      "required": true,
      "schema": {
        "type": "string"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "payment_method": {
              "$ref": "#/components/schemas/PaymentMethodPayload"
            }
          }
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "OK",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "required": [
              "message",
              "success",
              "content"
            ],
            "properties": {
              "message": {
                "type": "string"
              },
              "success": {
                "type": "boolean"
              },
              "content": {
                "properties": {
                  "payment_info": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/JusPayHyperCheckoutResponse"
                      },
                      {
                        "$ref": "#/components/schemas/JusPayExpressCheckoutResponse"
                      },
                      {
                        "$ref": "#/components/schemas/PayuPaymentInfo"
                      }
                    ]
                  }
                },
                "required": [
                  "payment_info"
                ],
                "type": "object"
              }
            }
          }
        }
      }
    },
    "400": {
      "$ref": "#/components/responses/BadRequest"
    },
    "401": {
      "$ref": "#/components/responses/Unauthorized"
    },
    "404": {
      "$ref": "#/components/responses/NotFound"
    }
  },
  "security": [
    {
      "Authorization": []
    }
  ],
  "x-speakeasy-group": "orders",
  "x-speakeasy-ignore": false,
  "x-speakeasy-name-override": "retryOrderPayment"
}

Auto-generated from OpenAPI spec and TypeScript definitions

Last updated: