PHPackages                             0x4a5k/razorpay - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. 0x4a5k/razorpay

ActiveLibrary[API Development](/categories/api)

0x4a5k/razorpay
===============

Razorpay PHP Client Library

2.5.0(7y ago)0816MITPHPPHP &gt;=5.3.0

Since Jan 18Pushed 7y ago1 watchersCompare

[ Source](https://github.com/0x4a5k/razorpay-php)[ Packagist](https://packagist.org/packages/0x4a5k/razorpay)[ Docs](https://docs.razorpay.com)[ RSS](/packages/0x4a5k-razorpay/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (3)Versions (34)Used By (0)

razorpay-php
============

[](#razorpay-php)

[![Build Status](https://camo.githubusercontent.com/99426b1ba5acaad8bb4dcf5e686f704acc6232d172cc7dc26237b8cf46053c28/68747470733a2f2f7472617669732d63692e6f72672f72617a6f727061792f72617a6f727061792d7068702e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/razorpay/razorpay-php) [![Latest Stable Version](https://camo.githubusercontent.com/f18390ed3856d34fef809bc1547b1bdb6034dcc8c8728da9152c8ee97267feed/68747470733a2f2f706f7365722e707567782e6f72672f72617a6f727061792f72617a6f727061792f762f737461626c652e737667)](https://packagist.org/packages/razorpay/razorpay) [![License](https://camo.githubusercontent.com/247a73988cc06a47be5cee4107ff7392fa02bd04c2a902179f4f396d4e589164/68747470733a2f2f706f7365722e707567782e6f72672f72617a6f727061792f72617a6f727061792f6c6963656e73652e737667)](https://packagist.org/packages/razorpay/razorpay)

Razorpay client PHP Api. The api follows the following practices:

- namespaced under Razorpay\\Api
- call $api-&gt;class-&gt;function() to access the api
- api throws exceptions instead of returning errors
- options are passed as an array instead of multiple arguments wherever possible
- All request and responses are communicated over JSON
- A minimum of PHP 5.3 is required

Installation
============

[](#installation)

- If your project uses composer, run the below command

```
composer require razorpay/razorpay:2.*

```

- If you are not using composer, download the latest release from [the releases section](https://github.com/razorpay/razorpay-php/releases). **You should download the `razorpay-php.zip` file**. After that include `Razorpay.php` in your application and you can use the API as usual.

Usage
=====

[](#usage)

```
use Razorpay\Api\Api;

$api = new Api($api_key, $api_secret);

// Orders
$order  = $api->order->create(array('receipt' => '123', 'amount' => 100, 'currency' => 'INR')); // Creates order
$order  = $api->order->fetch($orderId); // Returns a particular order
$orders = $api->order->all($options); // Returns array of order objects
$payments = $api->order->fetch($orderId)->payments(); // Returns array of payment objects against an order

// Payments
$payments = $api->payment->all($options); // Returns array of payment objects
$payment  = $api->payment->fetch($id); // Returns a particular payment
$payment  = $api->payment->fetch($id)->capture(array('amount'=>$amount)); // Captures a payment

// To get the payment details
echo $payment->amount;
echo $payment->currency;
// And so on for other attributes

// Refunds
$refund = $api->refund->create(array('payment_id' => $id)); // Creates refund for a payment
$refund = $api->refund->create(array('payment_id' => $id, 'amount'=>$refundAmount)); // Creates partial refund for a payment
$refund = $api->refund->fetch($refundId); // Returns a particular refund

// Cards
$card = $api->card->fetch($cardId); // Returns a particular card

// Customers
$customer = $api->customer->create(array('name' => 'Razorpay User', 'email' => 'customer@razorpay.com')); // Creates customer
$customer = $api->customer->fetch($customerId); // Returns a particular customer
$customer = $api->customer->edit(array('name' => 'Razorpay User', 'email' => 'customer@razorpay.com')); // Edits customer

// Tokens
$token  = $api->customer->token()->fetch($tokenId); // Returns a particular token
$tokens = $api->customer->token()->all($options); // Returns array of token objects
$api->customer->token()->delete($tokenId); // Deletes a token

// Transfers
$transfer  = $api->payment->fetch($paymentId)->transfer(array('transfers' => [ ['account' => $accountId, 'amount' => 100, 'currency' => 'INR']])); // Create transfer
$transfers = $api->transfer->all(); // Fetch all transfers
$transfers = $api->payment->fetch($paymentId)->transfers(); // Fetch all transfers created on a payment
$transfer  = $api->transfer->fetch($transferId)->edit($options); // Edit a transfer
$reversal  = $api->transfer->fetch($transferId)->reverse(); // Reverse a transfer

// Payment Links
$links = $api->invoice->all();
$link  = $api->invoice->fetch('inv_00000000000001');
$link  = $api->invoice->create(arary('type' => 'link', 'amount' => 500, 'description' => 'For XYZ purpose', 'customer' => array('email' => 'test@test.test')));
$link->cancel();
$link->notifyBy('sms');

// Invoices
$invoices = $api->invoice->all();
$invoice  = $api->invoice->fetch('inv_00000000000001');
$invoice  = $api->invoice->create($params); // Ref: razorpay.com/docs/invoices for request params example
$invoice  = $invoice->edit($params);
$invoice->issue();
$invoice->notifyBy('email');
$invoice->cancel();
$invoice->delete();

// Virtual Accounts
$virtualAccount  = $api->virtualAccount->create(array('receiver_types' => array('bank_account'), 'description' => 'First Virtual Account', 'notes' => array('receiver_key' => 'receiver_value')));
$virtualAccounts = $api->virtualAccount->all();
$virtualAccount  = $api->virtualAccount->fetch('va_4xbQrmEoA5WJ0G');
$virtualAccount  = $virtualAccount->close();
$payments        = $virtualAccount->payments();
$bankTransfer    = $api->payment->fetch('pay_8JpVEWsoNPKdQh')->bankTransfer();

// Bharat QR
$bharatQR = $api->virtualAccount->create(array('receivers' => array('types' => array('qr_code')), 'description' => 'First QR code', 'amount_expected' => 100, 'notes' => array('receiver_key' => 'receiver_value'))); // Create Static QR
$bharatQR = $api->virtualAccount->create(array('receivers' => array('types' => array('qr_code')), 'description' => 'First QR code', 'notes' => array('receiver_key' => 'receiver_value'))); // Create Dynamic QR

// Subscriptions
$plan          = $api->plan->create(array('period' => 'weekly', 'interval' => 1, 'item' => array('name' => 'Test Weekly 1 plan', 'description' => 'Description for the weekly 1 plan', 'amount' => 600, 'currency' => 'INR')));
$plan          = $api->plan->fetch('plan_7wAosPWtrkhqZw');
$plans         = $api->plan->all();
$subscription  = $api->subscription->create(array('plan_id' => 'plan_7wAosPWtrkhqZw', 'customer_notify' => 1, 'total_count' => 6, 'start_at' => 1495995837, 'addons' => array(array('item' => array('name' => 'Delivery charges', 'amount' => 30000, 'currency' => 'INR')))));
$subscription  = $api->subscription->fetch('sub_82uBGfpFK47AlA');
$subscriptions = $api->subscription->all();
$subscription  = $api->subscription->fetch('sub_82uBGfpFK47AlA')->cancel($options); //$options = ['cancel_at_cycle_end' => 1];
$addon         = $api->subscription->fetch('sub_82uBGfpFK47AlA')->createAddon(array('item' => array('name' => 'Extra Chair', 'amount' => 30000, 'currency' => 'INR'), 'quantity' => 2));
$addon         = $api->addon->fetch('ao_8nDvQYYGQI5o4H');
$addon         = $api->addon->fetch('ao_8nDvQYYGQI5o4H')->delete();

// Settlements
$settlement    = $api->settlement->fetch('setl_7IZKKI4Pnt2kEe');
$settlements   = $api->settlement->all();
$reports       = $api->settlement->reports(array('year' => 2018, 'month' => 2));
```

For further help, see our documentation on .

Developing
----------

[](#developing)

See the [doc.md](doc.md) file for getting started with development.

License
-------

[](#license)

The Razorpay PHP SDK is released under the MIT License. See [LICENSE](LICENSE) file for more details.

Release
-------

[](#release)

Steps to follow for a release:

1. Merge the branch with the new code to master.
2. Bump the Version in `src/Api.php`.
3. Rename Unreleased to the new tag in `CHANGELOG.md`
4. Add a new empty "Unreleased" section at the top of `CHANGELOG.md`
5. Fix links at bottom in `CHANGELOG.md`
6. Commit
7. Tag the release and push to GitHub
8. A release should automatically be created once the travis build passes. Edit the release to add some description.

###  Health Score

32

—

LowBetter than 71% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor4

4 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~62 days

Recently: every ~135 days

Total

26

Last Release

2579d ago

Major Versions

1.2.9 → 2.0.02017-03-07

PHP version history (4 changes)1.0.0PHP &gt;=5.3.2

2.0.1PHP &gt;=5.3.3

2.1.0PHP &gt;=5.4.0

2.5.0PHP &gt;=5.3.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/723bccce089dae54d99f4e391ec60f3d2489f8ed5d386ba3b69efe933e1f0b83?d=identicon)[0x4a5k](/maintainers/0x4a5k)

---

Top Contributors

[![ccrims0n](https://avatars.githubusercontent.com/u/4971419?v=4)](https://github.com/ccrims0n "ccrims0n (18 commits)")[![shashankkumar](https://avatars.githubusercontent.com/u/713006?v=4)](https://github.com/shashankkumar "shashankkumar (16 commits)")[![jitendra-1217](https://avatars.githubusercontent.com/u/5562241?v=4)](https://github.com/jitendra-1217 "jitendra-1217 (15 commits)")[![albingeorge](https://avatars.githubusercontent.com/u/1938077?v=4)](https://github.com/albingeorge "albingeorge (14 commits)")[![captn3m0](https://avatars.githubusercontent.com/u/584253?v=4)](https://github.com/captn3m0 "captn3m0 (10 commits)")[![harman28](https://avatars.githubusercontent.com/u/4201494?v=4)](https://github.com/harman28 "harman28 (6 commits)")[![harshilmathur](https://avatars.githubusercontent.com/u/1286414?v=4)](https://github.com/harshilmathur "harshilmathur (5 commits)")[![73SL4](https://avatars.githubusercontent.com/u/102838748?v=4)](https://github.com/73SL4 "73SL4 (3 commits)")[![amitmahbubani](https://avatars.githubusercontent.com/u/5546730?v=4)](https://github.com/amitmahbubani "amitmahbubani (3 commits)")[![msonowal](https://avatars.githubusercontent.com/u/6334484?v=4)](https://github.com/msonowal "msonowal (2 commits)")[![Mayur-Wadpalliwar](https://avatars.githubusercontent.com/u/28298004?v=4)](https://github.com/Mayur-Wadpalliwar "Mayur-Wadpalliwar (2 commits)")[![sunnyagg](https://avatars.githubusercontent.com/u/9930232?v=4)](https://github.com/sunnyagg "sunnyagg (1 commits)")[![deadmantfa](https://avatars.githubusercontent.com/u/1812611?v=4)](https://github.com/deadmantfa "deadmantfa (1 commits)")[![kajolnigam](https://avatars.githubusercontent.com/u/42341725?v=4)](https://github.com/kajolnigam "kajolnigam (1 commits)")[![mayankamencherla](https://avatars.githubusercontent.com/u/18058797?v=4)](https://github.com/mayankamencherla "mayankamencherla (1 commits)")[![phpindia](https://avatars.githubusercontent.com/u/6242172?v=4)](https://github.com/phpindia "phpindia (1 commits)")[![rpshah](https://avatars.githubusercontent.com/u/14857807?v=4)](https://github.com/rpshah "rpshah (1 commits)")[![saurav1991](https://avatars.githubusercontent.com/u/4759739?v=4)](https://github.com/saurav1991 "saurav1991 (1 commits)")[![shashankmehta](https://avatars.githubusercontent.com/u/1315944?v=4)](https://github.com/shashankmehta "shashankmehta (1 commits)")[![smarchone](https://avatars.githubusercontent.com/u/11229887?v=4)](https://github.com/smarchone "smarchone (1 commits)")

---

Tags

phpapiclientrazorpay

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/0x4a5k-razorpay/health.svg)

```
[![Health](https://phpackages.com/badges/0x4a5k-razorpay/health.svg)](https://phpackages.com/packages/0x4a5k-razorpay)
```

###  Alternatives

[razorpay/razorpay

Razorpay PHP Client Library

2024.8M44](/packages/razorpay-razorpay)[kunalvarma05/dropbox-php-sdk

Dropbox PHP API V2 SDK (Unofficial)

3633.0M18](/packages/kunalvarma05-dropbox-php-sdk)[culqi/culqi-php

Cliente Culqi API para PHP

41356.8k1](/packages/culqi-culqi-php)[mozex/anthropic-php

Anthropic PHP is a supercharged community-maintained PHP API client that allows you to interact with Anthropic API.

46365.1k13](/packages/mozex-anthropic-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
