Migrate Payment Gateway - PayU to Cashfree Payments

Migrates existing PayU payment gateway integrations to Cashfree Payments APIs and SDKs.

Updated Sep 8, 2026
One-click install
npx skills add https://github.com/dasara-varun/orange --skill migrate-payment-gateway-payu-to-cashfree-payments-dasara-varun
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: Migrate Payment Gateway - PayU to Cashfree Payments
Source: https://github.com/dasara-varun/orange/tree/main/.cursor/cashfree-skills/migrate-from-payu
Command: npx skills add https://github.com/dasara-varun/orange --skill migrate-payment-gateway-payu-to-cashfree-payments-dasara-varun

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Rewriting a live PayU integration (form posts to secure.payu.in/_payment, SHA-512 request and reverse hashes, Bolt checkout, postservice command API) for Cashfree Payments is error-prone because the two gateways differ fundamentally in authentication, checkout handoff, webhook verification, and status semantics. This Skill provides the complete field-by-field, endpoint-by-endpoint mapping and a seven-step migration workflow so nothing is missed. ## Core Features & Use Cases - Concept and credential mapping: Translates PayU key/salt hash auth to Cashfree x-client-id/x-client-secret headers, txnid to order_id, mihpayid to cf_payment_id, and surl/furl to a single return_url. - Code rewrites across the stack: Before/after examples for backend order creation, verification, and refunds in Node.js, Python, Java, Go, PHP, and .NET, plus Bolt-to-Cashfree.js checkout and CheckoutPro-to-Cashfree mobile SDK mappings (Android, iOS, React Native, Flutter). - Webhook and state-machine migration: Converts SHA-512 reverse-hash verification to HMAC-SHA256 over timestamp plus raw body, and re-models PayU's pending-as-failed semantics against Cashfree's non-terminal PENDING status. - Use Case: A merchant with a production PayU Bolt checkout and postservice-based refund flow uses this Skill to inventory every hash and endpoint, swap in the Cashfree SDK, rewrite webhook handlers, and run a parallel 5-10% traffic shadow before full cutover. ## Quick Start Ask the AI to migrate your existing PayU checkout, webhook, and refund code to Cashfree Payments using this skill.

Frequently Asked Questions about Migrate Payment Gateway - PayU to Cashfree Payments

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I migrate from PayU to Cashfree Payments?▼

Follow the seven-step workflow: inventory all PayU hash, form-post, and postservice code; obtain Cashfree App ID and Secret Key; swap in the Cashfree SDK; rewrite order creation, verification, and refunds; replace Bolt with Cashfree.js; rewrite webhooks; then parallel-run before cutover.

What replaces the PayU SHA-512 hash in Cashfree?▼

Cashfree uses header-based authentication with x-client-id, x-client-secret, and x-api-version instead of per-request SHA-512 hashes. The only remaining HMAC is inbound webhook verification, which uses HMAC-SHA256 base64 over the timestamp plus raw request body.

What is the Cashfree equivalent of PayU verify_payment and cancel_refund_transaction?▼

verify_payment maps to GET /pg/orders/{order_id} (PGFetchOrder), fulfilling only when order_status is PAID. cancel_refund_transaction maps to POST /pg/orders/{order_id}/refunds, keyed by your merchant order_id with a merchant-generated refund_id instead of mihpayid.

Why does Cashfree webhook signature verification fail after migrating from PayU?▼

The verifier is likely reusing PayU's SHA-512 hex hash over form fields. Cashfree requires HMAC-SHA256 encoded in base64, computed over the x-webhook-timestamp header concatenated with the raw JSON body, using the Cashfree secret key.

Can I migrate saved cards and historical transactions from PayU to Cashfree?▼

No. PayU-managed saved instruments are not portable and historical transactions stay in PayU; only new traffic moves to Cashfree. Saved-card flows must be rebuilt with Cashfree Token Vault, and a parallel reporting period is recommended during cutover.

How does Cashfree handle pending payments differently from PayU?▼

PayU instructs merchants to treat pending as failed at callback time, while Cashfree's PENDING payment_status is non-terminal and means keep polling or wait for the webhook. Auto-failing Cashfree PENDING payments is a common post-migration bug.