| Server IP : 68.178.172.28 / Your IP : 216.73.216.32 Web Server : Apache System : Linux 28.172.178.68.host.secureserver.net 4.18.0-553.89.1.el8_10.x86_64 #1 SMP Mon Dec 8 03:53:08 EST 2025 x86_64 User : kiskarnal ( 1003) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/kiskarnal/public_html/vendor/razorpay/razorpay/tests/ |
Upload File : |
<?php
namespace Razorpay\Tests;
use Razorpay\Api\Request;
class SubscriptionTest extends TestCase
{
/**
* Specify unique subscription id & plan id
* for example : sub_IEKtBfPIqTHLWd & plan_IEeswu4zFBRGwi
*/
private $subscriptionId = "sub_IEllLOZcf0PODu";
private $plan = "plan_IEeswu4zFBRGwi";
public function setUp(): void
{
parent::setUp();
}
/**
* Create a Subscription Link
*/
public function testCreateSubscription()
{
$data = $this->api->subscription->create(array('plan_id' => $this->plan, 'customer_notify' => 1,'quantity'=>1, 'total_count' => 6, 'addons' => array(array('item' => array('name' => 'Delivery charges', 'amount' => 3000, 'currency' => 'INR'))),'notes'=> array('key1'=> 'value3','key2'=> 'value2')));
$this->assertTrue(is_array($data->toArray()));
$this->assertTrue(in_array('id',$data->toArray()));
}
/**
* Fetch Subscription Link by ID
*/
public function testSubscriptionFetchId()
{
$data = $this->api->subscription->fetch($this->subscriptionId);
$this->assertTrue(is_array($data->toArray()));
$this->assertTrue(in_array('plan_id',$data->toArray()));
}
/**
* Pause a Subscription
*/
public function testPauseSubscription()
{
$data = $this->api->subscription->fetch($this->subscriptionId)->pause(['pause_at'=>'now']);
$this->assertTrue(is_array($data->toArray()));
$this->assertTrue(in_array('id',$data->toArray()));
$this->assertTrue($data['status'] == 'paused');
}
/**
* Resume a Subscription
*/
public function testResumeSubscription()
{
$data = $this->api->subscription->fetch($this->subscriptionId)->resume(['resume_at'=>'now']);
$this->assertTrue(is_array($data->toArray()));
$this->assertTrue(in_array('id',$data->toArray()));
}
/**
* Update a Subscription
*/
public function testUpdateSubscription()
{
$data = $this->api->subscription->fetch($this->subscriptionId)->update(array('schedule_change_at'=>'cycle_end','quantity'=>2));
$this->assertTrue(is_array($data->toArray()));
$this->assertTrue(in_array('customer_id',$data->toArray()));
}
/**
* Fetch Details of a Pending Update
*/
public function testPendingUpdate()
{
$data = $this->api->subscription->fetch($this->subscriptionId)->pendingUpdate();
$this->assertTrue(is_array($data->toArray()));
$this->assertTrue(in_array('id',$data->toArray()));
}
/**
* Cancel an Update
*/
public function testCancelUpdate()
{
$data = $this->api->subscription->fetch($this->subscriptionId)->cancelScheduledChanges();
$this->assertTrue(is_array($data->toArray()));
$this->assertTrue(in_array('id',$data->toArray()));
}
/**
* Fetch All Invoices for a Subscription
*/
public function testSubscriptionInvoices()
{
$data = $this->api->invoice->all(['subscription_id'=>$this->subscriptionId]);
$this->assertTrue(is_array($data->toArray()));
$this->assertTrue(is_array($data['items']));
}
/**
* Fetch all Add-ons
*/
public function testFetchAddons()
{
$data = $this->api->addon->fetchAll();
$this->assertTrue(is_array($data->toArray()));
$this->assertTrue(is_array($data['items']));
}
/**
* Fetch all subscriptions
*/
public function testFetchAllSubscriptions()
{
$data = $this->api->subscription->all();
$this->assertTrue(is_array($data->toArray()));
$this->assertTrue(is_array($data['items']));
}
}