コード例 #1
0
/*
 * This entity models how a POST request can be made
 * to the subscriptions controller and receive (something like) a coupon in response.
 */
class Bf_AddCouponCodeRequest extends Bf_BillingEntity
{
    protected static $_resourcePath;
    public static function initStatics()
    {
        self::$_resourcePath = new Bf_ResourcePath('subscriptions', 'AddCouponCodeRequest');
    }
    public static function applyCouponToSubscription(Bf_Coupon $coupon, $subscription)
    {
        $subscriptionID = Bf_Subscription::getIdentifier($subscription);
        // make new Bf_Coupon using only the `couponCode` param
        $requestEntity = new Bf_Coupon(array('couponCode' => $coupon->couponCode), $coupon->getClient());
        $endpoint = sprintf("%s/coupons", rawurlencode($subscriptionID));
        $responseEntity = Bf_Coupon::getClassName();
        $constructedEntity = static::postEntityAndGrabFirst($endpoint, $requestEntity, $responseEntity);
        return $constructedEntity;
    }
    public static function applyCouponCodeToSubscription($couponCode, $subscription)
    {
        $coupon = new Bf_Coupon();
        $coupon->couponCode = $couponCode;
        return static::applyCouponToSubscription($coupon, $subscription);
    }
}
Bf_AddCouponCodeRequest::initStatics();