# Our developer-friendly tools ensure a smooth and quick setup


<Tabs>
    <Tab title="APIs">
        
Our robust and developer-friendly RESTful APIs offer full control over your payment flows, making it easy to embed Olympus into your custom applications or platforms.
        
## <span style="color:#7b2cbf">Key Features</span>

* End-to-end payment processing
* Refund and dispute management
* Tokenization for secure card storage
* Real-time transaction updates via webhooks
        
## <span style="color:#7b2cbf">Ideal Use Cases</span>

* Custom-built web or mobile applications
* Platforms needing granular control over payment steps

## <span style="color:#7b2cbf">How It Works</span>  
        
<Steps>
  <Step title="Create an Order">
    Use the **Create Order API** to initiate a payment. The response will include an `orderId`.
  </Step>
  <Step title="Initiate Payment Based on Mode">
UPI Payments: Use the UPI Intent Links API to fetch intent links or the QR Code API to generate a QR code.

Cards / Netbanking / UPI Collect: Submit the user’s payment details via the Submit Payment Detail API.

The API response will return a `redirectionUrl` and `transactionId`.
  </Step>
  <Step title="Redirect for Bank Authentication">
    Redirect the user to the redirectionUrl to complete the authentication process.
  </Step>
    <Step title="Receive Server-to-Server Notification">
    After transaction processing, Olympus sends a webhook notification to the notifyUrl specified in the Create Order API or configured during onboarding.
  </Step>
    <Step title="Redirect to Return URL">
    The user is redirected to the returnUrl provided during order creation or onboarding.
  </Step>
    <Step title="Verify Transaction Status">
    Use the Get Transaction Status API to confirm the transaction outcome.
  </Step>
    <Step title="Process Refunds">
    Use the Refund API to initiate full or partial refunds as needed.
  </Step>
</Steps>
        
    </Tab>
    <Tab title="Plugins & Extensions">
        Simplify payment gateway integration with our pre-built plugins for popular e-commerce platforms.
        
        ## <span style="color:#7b2cbf">Supported Plugins</span>    

        - [WooCommerce](https://image.enkash.in/IMAGES/plugins/EnKash_Woocommerce_105.zip)  
        - [Magento](https://image.enkash.in/IMAGES/plugins/Magento_v2.4_Olympus_101.zip)  
        - Shopify  
        - [Opencart 4](https://image.enkash.in/IMAGES/plugins/olympus_payment.ocmod.zip)  
        - [Opencart 3](https://image.enkash.in/IMAGES/plugins/Opencart_v3_olympus_payment_102.zip)
        - Wix  
## <span style="color:#7b2cbf">Key Benefits</span>    
        - Quick setup with minimal coding  
        - Seamless compatibility with platform features  

    </Tab>
   <Tab title="SDKs">

Our SDKs simplify EnKash Payment Gateway integration by handling authentication, request signing, token management, and API communication. Download the SDK for your preferred platform, initialize the client, and start calling EnKash APIs.

## <span style="color:#7b2cbf">Available SDKs</span>

| SDK | Requirements | Download |
|------|--------------|----------|
| ☕ **Java SDK** | Java 8+ | [Download Java SDK v1.0.0](https://image.enkash.in/IMAGES/plugins/java-sdk.zip) |
| ⚙️ **.NET SDK** | .NET 6+ | [Download .NET SDK v1.0.0](https://image.enkash.in/IMAGES/plugins/dotnet-sdk.zip) |
| 🟢 **Node.js SDK** | Node.js 18+ | [Download Node.js SDK v1.0.0](https://image.enkash.in/IMAGES/plugins/node-sdk.zip) |
| 🐘 **PHP SDK** | PHP 8.1+ | [Download PHP SDK v1.0.0](https://image.enkash.in/IMAGES/plugins/php-sdk.zip) |

---

## <span style="color:#7b2cbf">Environment URLs</span>

| Environment | Base URL |
|-------------|----------|
| **UAT** | `https://olympus-pg-uat.enkash.in` |
| **Production** | `https://olympus-pg.enkash.in` |

---

## ☕ Java SDK

### Quick Start

<Steps>

<Step title="Add the SDK to your project">
Download the Java SDK from the table above and add the JAR to your Java project.
</Step>

<Step title="Initialize the EnKash client">

```java
EnkashPGClient client = new EnkashPGClient(
    "https://olympus-pg-uat.enkash.in",
    "ACCESS_KEY",
    "SECRET_KEY"
);
```

</Step>

<Step title="Start calling EnKash APIs">

```java
Order order = client.orders().createOrder(orderRequest);

Payment payment =
client.payments().submitPayment(paymentRequest);

Refund refund =
client.refunds().initiateRefund(refundRequest);
```

</Step>

</Steps>

**Supported APIs**

- Orders
- Payments
- Refunds
- Settlements
- Authentication

---

## ⚙️ .NET SDK

### Quick Start

<Steps>

<Step title="Add the SDK to your project">
Download the .NET SDK from the table above and reference the package in your project.
</Step>

<Step title="Initialize the EnKash client">

```csharp
var client = new EnkashPGClient(
    "https://olympus-pg-uat.enkash.in",
    accessKey,
    secretKey
);
```

</Step>

<Step title="Start calling EnKash APIs">

```csharp
var order = client.Orders.CreateOrder(orderRequest);

var payment = client.Payments.SubmitPayment(paymentRequest);

var refund = client.Refunds.InitiateRefund(refundRequest);
```

</Step>

</Steps>

**Supported APIs**

- Orders
- Payments
- Refunds
- Settlements
- Authentication

---

## 🟢 Node.js SDK

### Quick Start

<Steps>

<Step title="Add the SDK to your project">
Download the Node.js SDK from the table above and install it into your project.
</Step>

<Step title="Initialize the EnKash client">

```javascript
import { EnkashPGClient } from "enkash-node-sdk";

const client = new EnkashPGClient(
    "https://olympus-pg-uat.enkash.in",
    process.env.ENKASH_ACCESS_KEY,
    process.env.ENKASH_SECRET_KEY
);
```

</Step>

<Step title="Start calling EnKash APIs">

```javascript
const order =
await client.orders.createOrder(orderRequest);

const payment =
await client.payments.submitPayment(paymentRequest);

const refund =
await client.refunds.initiateRefund(refundRequest);
```

</Step>

</Steps>

**Supported APIs**

- Orders
- Payments
- Refunds
- Settlements
- Authentication

---

## 🐘 PHP SDK

### Quick Start

<Steps>

<Step title="Add the SDK to your project">
Download the PHP SDK from the table above and include it in your PHP project.
</Step>

<Step title="Initialize the EnKash client">

```php
$client = new EnkashPGClient(
    "https://olympus-pg-uat.enkash.in",
    $accessKey,
    $secretKey
);
```

</Step>

<Step title="Start calling EnKash APIs">

```php
$order = $client->orders->createOrder($orderRequest);

$payment = $client->payments->submitPayment($paymentRequest);

$refund = $client->refunds->initiateRefund($refundRequest);
```

</Step>

</Steps>

**Supported APIs**

- Orders
- Payments
- Refunds
- Settlements
- Authentication

---

## <span style="color:#7b2cbf">SDK Features</span>

All EnKash SDKs provide:

- Automatic merchant authentication and token management
- Simple client initialization
- Built-in support for UAT and Production environments
- Orders, Payments, Refunds, Settlements, and Authentication APIs
- Optional request and response logging
- Custom header support
- Consistent API interface across all supported languages

</Tab>
    <Tab title="Checkout Integration">
        
Integrate our fully customizable and pre-built checkout interface to deliver a quick and seamless payment experience to your customers.
## <span style="color:#7b2cbf">Checkout Option Supported</span>

* **Hosted Checkout**
  Redirect users to a secure Olympus-hosted payment page.

* **Embedded Checkout**
  Embed the Olympus checkout form directly into your website or mobile app for a seamless user journey.

## <span style="color:#7b2cbf">Key Features</span>    

* Supports Cards, UPI (QR, Collect, Intent), Wallets, and Netbanking
* Fully responsive design optimized for all devices
* PCI DSS compliant for secure transactions
* Easy integration with minimal development effort
## <span style="color:#7b2cbf">How It Works</span>    
        
<Steps>
  <Step title="Generate Order">
    Call the **Create Order API** from your backend. The API response will include a `redirectionUrl`
  </Step>
  <Step title="Redirect User">
    Redirect your user to the `redirectionUrl` to initiate Olympus Checkout.
  </Step>
  <Step title="Transaction Completion">
     * Once the user completes the transaction, EnKash sends a **webhook** to the `notifyUrl` provided in the Create Order API.
   * The user is simultaneously redirected to the `returnUrl` specified during order creation.
  </Step>
</Steps>
        
    </Tab>
    <Tab title="Payment Link">
        Enable payments without a website or app by generating and sharing payment links.
        
        ## <span style="color:#7b2cbf">Features</span>    

        - No coding required  
        - Shareable via SMS, email, or WhatsApp  
        - Track payment status in real-time  

    </Tab>
</Tabs>

