3 abstract class PhortuneSubscriptionImplementation
extends Phobject
{
5 abstract public function loadImplementationsForRefs(
6 PhabricatorUser
$viewer,
9 abstract public function getRef();
10 abstract public function getName(PhortuneSubscription
$subscription);
12 public function getFullName(PhortuneSubscription
$subscription) {
13 return $this->getName($subscription);
16 public function getCrumbName(PhortuneSubscription
$subscription) {
17 return $this->getName($subscription);
20 abstract public function getCostForBillingPeriodAsCurrency(
21 PhortuneSubscription
$subscription,
25 public function shouldInvoiceForBillingPeriod(
26 PhortuneSubscription
$subscription,
32 public function getCartName(
33 PhortuneSubscription
$subscription,
35 return pht('Subscription');
38 public function getPurchaseName(
39 PhortuneSubscription
$subscription,
40 PhortuneProduct
$product,
41 PhortunePurchase
$purchase) {
42 return $product->getProductName();
45 public function getPurchaseURI(
46 PhortuneSubscription
$subscription,
47 PhortuneProduct
$product,
48 PhortunePurchase
$purchase) {
52 public function didPurchaseProduct(
53 PhortuneSubscription
$subscription,
54 PhortuneProduct
$product,
55 PhortunePurchase
$purchase) {