gateway passed as 1 Razorpay still shows as manual in the order

Topic summary

A developer is encountering an issue when creating orders via Shopify’s REST API. They are:

Process being followed:

  • Creating a draft order with payment_pending: true
  • Completing the order
  • Adding a transaction via /transactions.json endpoint with gateway: "1 Razorpay"

Problem:
Despite passing “1 Razorpay” as the gateway parameter in the transaction payload, the order displays “manual” as the payment gateway in the Shopify admin UI.

Additional context:

  • Razorpay is properly configured in the store
  • When customers purchase directly through the website, orders correctly show “1 Razorpay” as the gateway
  • The developer has shared their transaction JSON payload showing all parameters including currency (INR), amount, kind (sale), and status (success)

Status: The issue remains unresolved with the developer seeking technical guidance on the correct implementation.

Summarized with AI on October 31. AI used: claude-sonnet-4-5-20250929.

I am using the shopify rest api to create a draft order and then completing it with payment_pending set to true
after that i am trying to add a transaction using the /transactions.json endpoint where i am passing the gateway as “1 Razorpay” but still it shows as gateway manual in the UI

{
    "transaction": {
        "currency": "INR",
        "amount": "60.18",
        "kind": "sale",
        "gateway": "1 Razorpay",
        "payment_id": "",
        "test": true,
        "authorization": "",
        "status": "success",
        "parent_id": "7616395116844"
    }
}

what am i doing wrong here ? Razorpay is properly setup as a gateway in my store, when i use it to buy something directly from the webite, in admin dashboard the order shows gateway as 1 Razorpay correctly

I am a developer, just guide me in the right direction