Overview

Classes

  • Syspay_Merchant_AstroPayBanksRequest
  • Syspay_Merchant_BillingAgreementCancellationRequest
  • Syspay_Merchant_BillingAgreementInfoRequest
  • Syspay_Merchant_BillingAgreementListRequest
  • Syspay_Merchant_BillingAgreementRequest
  • Syspay_Merchant_ChargebackInfoRequest
  • Syspay_Merchant_ChargebackListRequest
  • Syspay_Merchant_Client
  • Syspay_Merchant_ConfirmRequest
  • Syspay_Merchant_EMS
  • Syspay_Merchant_Entity
  • Syspay_Merchant_Entity_AstroPayBank
  • Syspay_Merchant_Entity_BillingAgreement
  • Syspay_Merchant_Entity_Chargeback
  • Syspay_Merchant_Entity_Creditcard
  • Syspay_Merchant_Entity_Customer
  • Syspay_Merchant_Entity_Eterminal
  • Syspay_Merchant_Entity_Payment
  • Syspay_Merchant_Entity_PaymentMethod
  • Syspay_Merchant_Entity_PaymentRecipient
  • Syspay_Merchant_Entity_Plan
  • Syspay_Merchant_Entity_Refund
  • Syspay_Merchant_Entity_Subscription
  • Syspay_Merchant_Entity_SubscriptionEvent
  • Syspay_Merchant_EterminalRequest
  • Syspay_Merchant_IpAddressesRequest
  • Syspay_Merchant_PaymentInfoRequest
  • Syspay_Merchant_PaymentListRequest
  • Syspay_Merchant_PaymentRequest
  • Syspay_Merchant_PlanInfoRequest
  • Syspay_Merchant_PlanRequest
  • Syspay_Merchant_PlanUpdateRequest
  • Syspay_Merchant_RebillRequest
  • Syspay_Merchant_Redirect
  • Syspay_Merchant_RefundInfoRequest
  • Syspay_Merchant_RefundListRequest
  • Syspay_Merchant_RefundRequest
  • Syspay_Merchant_Request
  • Syspay_Merchant_SubscriptionCancellationRequest
  • Syspay_Merchant_SubscriptionInfoRequest
  • Syspay_Merchant_SubscriptionRebillRequest
  • Syspay_Merchant_SubscriptionRequest
  • Syspay_Merchant_Utils
  • Syspay_Merchant_VoidRequest

Interfaces

  • Syspay_Merchant_Entity_ReturnedEntityInterface

Exceptions

  • Syspay_Merchant_EMSException
  • Syspay_Merchant_RedirectException
  • Syspay_Merchant_RequestException
  • Syspay_Merchant_UnexpectedResponseException
  • Overview
  • Class
  • Tree
  1: <?php
  2: 
  3: /**
  4:  * Cancel a subscription
  5:  * @see https://app.syspay.com/docs/api/merchant_subscription.html#cancelling-a-subscription
  6:  */
  7: class Syspay_Merchant_SubscriptionCancellationRequest extends Syspay_Merchant_Request
  8: {
  9:     const METHOD = 'POST';
 10:     const PATH   = '/api/v1/merchant/subscription/%d/cancel';
 11: 
 12:     /**
 13:      * @var integer
 14:      */
 15:     private $subscriptionId;
 16: 
 17:     /**
 18:      * @var boolean
 19:      */
 20:     private $now = false;
 21: 
 22:     public function __construct($subscriptionId = null)
 23:     {
 24:         if (null !== $subscriptionId) {
 25:             $this->setSubscriptionId($subscriptionId);
 26:         }
 27:     }
 28: 
 29:     /**
 30:      * {@inheritDoc}
 31:      */
 32:     public function getMethod()
 33:     {
 34:         return self::METHOD;
 35:     }
 36: 
 37:     /**
 38:      * {@inheritDoc}
 39:      */
 40:     public function getPath()
 41:     {
 42:         return sprintf(self::PATH, $this->subscriptionId);
 43:     }
 44: 
 45:     /**
 46:      * {@inheritDoc}
 47:      */
 48:     public function buildResponse(stdClass $response)
 49:     {
 50:         if (!isset($response->subscription)) {
 51:             throw new Syspay_Merchant_UnexpectedResponseException(
 52:                 'Unable to retrieve "subscription" data from response',
 53:                 $response
 54:             );
 55:         }
 56: 
 57:         $subscription = Syspay_Merchant_Entity_Subscription::buildFromResponse($response->subscription);
 58: 
 59:         return $subscription;
 60:     }
 61: 
 62:     /**
 63:      * Gets the value of subscriptionId.
 64:      *
 65:      * @return integer
 66:      */
 67:     public function getSubscriptionId()
 68:     {
 69:         return $this->subscriptionId;
 70:     }
 71: 
 72:     /**
 73:      * Sets the value of subscriptionId.
 74:      *
 75:      * @param integer $subscriptionId the subscription id
 76:      *
 77:      * @return self
 78:      */
 79:     public function setSubscriptionId($subscriptionId)
 80:     {
 81:         $this->subscriptionId = $subscriptionId;
 82: 
 83:         return $this;
 84:     }
 85: 
 86:     /**
 87:      * Sets the value of now.
 88:      *
 89:      * @param boolean $now Terminate the subscription right away
 90:      *
 91:      * @return self
 92:      */
 93:     public function setNow($now)
 94:     {
 95:         $this->now = $now;
 96: 
 97:         return $this;
 98:     }
 99: 
100:     /**
101:      * Gets the value of now.
102:      *
103:      * @return boolean
104:      */
105:     public function getNow()
106:     {
107:         return $this->now;
108:     }
109: 
110:     /**
111:      * {@inheritDoc}
112:      */
113:     public function getData()
114:     {
115:         $data = array();
116:         $data['now'] = $this->now;
117: 
118:         return $data;
119:     }
120: }
121: 
Syspay Merchant SDK API documentation generated by ApiGen 2.8.0