3 abstract class PhortuneCartImplementation
extends Phobject
{
6 * Load implementations for a given set of carts.
8 * Note that this method should return a map using the original keys to
9 * identify which implementation corresponds to which cart.
11 abstract public function loadImplementationsForCarts(
12 PhabricatorUser
$viewer,
15 abstract public function getName(PhortuneCart
$cart);
16 abstract public function getCancelURI(PhortuneCart
$cart);
17 abstract public function getDoneURI(PhortuneCart
$cart);
19 public function getDescription(PhortuneCart
$cart) {
23 public function getDoneActionName(PhortuneCart
$cart) {
24 return pht('Return to Application');
27 public function assertCanCancelOrder(PhortuneCart
$cart) {
28 switch ($cart->getStatus()) {
29 case PhortuneCart
::STATUS_PURCHASED
:
32 'This order can not be cancelled because it has already been '.
38 public function assertCanRefundOrder(PhortuneCart
$cart) {
42 abstract public function willCreateCart(
43 PhabricatorUser
$viewer,