rzp/rzp-php
Composer 安装命令:
composer require rzp/rzp-php
包简介
Razorpay PHP Client Library
README 文档
README
Razorpay client PHP Api. The api follows the following practices:
- namespaced under Razorpay\Api
- call $api->class->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
- 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.
You should download the
razorpay-php.zipfile. After that includeRazorpay.phpin your application and you can use the API as usual.
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 https://docs.razorpay.com.
Developing
See the doc.md file for getting started with development.
License
The Razorpay PHP SDK is released under the MIT License.
Release
Steps to follow for a release:
- Merge the branch with the new code to master.
- Bump the Version in
src/Api.php. - Rename Unreleased to the new tag in
CHANGELOG.md - Add a new empty "Unreleased" section at the top of
CHANGELOG.md - Fix links at bottom in
CHANGELOG.md - Commit
- Tag the release and push to GitHub
- A release should automatically be created once the travis build passes. Edit the release to add some description.
rzp/rzp-php 适用场景与选型建议
rzp/rzp-php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 9 次下载、GitHub Stars 达 0, 最近一次更新时间为 2019 年 02 月 27 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「api」 「client」 「razorpay」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 rzp/rzp-php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 rzp/rzp-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 rzp/rzp-php 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A PSR-7 compatible library for making CRUD API endpoints
Mock PSR-18 HTTP client
Asynchronous MQTT client built on React
Client for Google Directions API to add interpolated points to a route consisting of given coordinates.
Alfabank REST API integration
A Flickr wrapper to allow you to call the Flickr api with Guzzle as the backend.Goal is to have 100% Flickr api coverage rather than just upload/display photos (currently at 23%).
统计信息
- 总下载量: 9
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-02-27