Transactions

Type
Class
Namespace
craft\commerce\services
Inherits
craft\commerce\services\Transactions » yii\base\Component (opens new window) » yii\base\BaseObject (opens new window)
Implements
yii\base\Configurable (opens new window)
Since
2.0

Transaction service.

View source (opens new window)

# Public Properties

Property Description
behaviors (opens new window) yii\base\Behavior (opens new window) – List of behaviors attached to this component.

# Public Methods

Method Description
__call() (opens new window) Calls the named method which is not a class method.
__clone() (opens new window) This method is called after the object is created by cloning an existing one.
__construct() (opens new window) Constructor.
__get() (opens new window) Returns the value of a component property.
__isset() (opens new window) Checks if a property is set, i.e. defined and not null.
__set() (opens new window) Sets the value of a component property.
__unset() (opens new window) Sets a component property to be null.
attachBehavior() (opens new window) Attaches a behavior to this component.
attachBehaviors() (opens new window) Attaches a list of behaviors to the component.
behaviors() (opens new window) Returns a list of behaviors that this component should behave as.
canCaptureTransaction() Returns true if a specific transaction can be refunded.
canGetProperty() (opens new window) Returns a value indicating whether a property can be read.
canRefundTransaction() Returns true if a specific transaction can be refunded.
canSetProperty() (opens new window) Returns a value indicating whether a property can be set.
className() (opens new window) Returns the fully qualified name of this class.
createTransaction() Create a transaction either from an order or a parent transaction. At least one must be present.
deleteTransaction() Delete a transaction.
detachBehavior() (opens new window) Detaches a behavior from the component.
detachBehaviors() (opens new window) Detaches all behaviors from the component.
eagerLoadTransactionsForOrders()
ensureBehaviors() (opens new window) Makes sure that the behaviors declared in behaviors() (opens new window) are attached to this component.
getAllTopLevelTransactionsByOrderId()
getAllTransactionsByOrderId() Returns all transactions for an order, per the order's ID.
getBehavior() (opens new window) Returns the named behavior object.
getBehaviors() (opens new window) Returns all behaviors attached to this component.
getChildrenByTransactionId() Get all children transactions, per a parent transaction's ID.
getTransactionByHash() Get a transaction by its hash.
getTransactionById() Get a transaction by its ID.
getTransactionByReference() Get a transaction by its reference.
getTransactionByReferenceAndStatus() Get a transaction by its reference and status.
hasEventHandlers() (opens new window) Returns a value indicating whether there is any handler attached to the named event.
hasMethod() (opens new window) Returns a value indicating whether a method is defined.
hasProperty() (opens new window) Returns a value indicating whether a property is defined for this component.
init() (opens new window) Initializes the object.
isTransactionSuccessful() Returns true if a transaction or a direct child of the transaction is successful.
off() (opens new window) Detaches an existing event handler from this component.
on() (opens new window) Attaches an event handler to an event.
refundableAmountForTransaction() Return the refundable amount for a transaction.
saveTransaction() Save a transaction.
trigger() (opens new window) Triggers an event.

# canCaptureTransaction()

Returns true if a specific transaction can be refunded.

View source (opens new window)

Arguments

Returns

boolean (opens new window)

# canRefundTransaction()

Returns true if a specific transaction can be refunded.

View source (opens new window)

Arguments

Returns

boolean (opens new window)

# createTransaction()

Create a transaction either from an order or a parent transaction. At least one must be present.

View source (opens new window)

Arguments

  • $order (craft\commerce\elements\Order) – Order that the transaction is a part of. Ignored, if $parentTransaction is specified.
  • $parentTransaction (craft\commerce\models\Transaction) – Parent transaction, if this transaction is a child. Required, if $order is not specified.
  • $typeOverride (string (opens new window)) – The type of transaction. If set, this overrides the type of the parent transaction, or sets the type when no parentTransaction is passed.

Returns

craft\commerce\models\Transaction

Throws

# deleteTransaction()

Delete a transaction.

View source (opens new window)

Arguments

Returns

boolean (opens new window)

Throws

# eagerLoadTransactionsForOrders()

Since
3.2.0

View source (opens new window)

Arguments

Returns

craft\commerce\elements\Order[]

# getAllTopLevelTransactionsByOrderId()

View source (opens new window)

Arguments

Returns

array (opens new window), craft\commerce\models\Transaction[]

# getAllTransactionsByOrderId()

Returns all transactions for an order, per the order's ID.

View source (opens new window)

Arguments

Returns

craft\commerce\models\Transaction[]

# getChildrenByTransactionId()

Get all children transactions, per a parent transaction's ID.

View source (opens new window)

Arguments

Returns

array (opens new window)

# getTransactionByHash()

Get a transaction by its hash.

View source (opens new window)

Arguments

Returns

craft\commerce\models\Transaction, null (opens new window)

# getTransactionById()

Get a transaction by its ID.

View source (opens new window)

Arguments

Returns

craft\commerce\models\Transaction, null (opens new window)

# getTransactionByReference()

Get a transaction by its reference.

View source (opens new window)

Arguments

Returns

craft\commerce\models\Transaction, null (opens new window)

# getTransactionByReferenceAndStatus()

Get a transaction by its reference and status.

View source (opens new window)

Arguments

Returns

craft\commerce\models\Transaction, null (opens new window)

# isTransactionSuccessful()

Returns true if a transaction or a direct child of the transaction is successful.

View source (opens new window)

Arguments

Returns

boolean (opens new window)

# refundableAmountForTransaction()

Return the refundable amount for a transaction.

View source (opens new window)

Arguments

Returns

float (opens new window)

# saveTransaction()

Save a transaction.

View source (opens new window)

Arguments

Returns

boolean (opens new window)

Throws

# Events

# EVENT_AFTER_CREATE_TRANSACTION

Type
craft\commerce\events\TransactionEvent

The event that is triggered after a transaction has been created.

use craft\commerce\events\TransactionEvent;
use craft\commerce\services\Transactions;
use craft\commerce\models\Transaction;
use yii\base\Event;

Event::on(
    Transactions::class,
    Transactions::EVENT_AFTER_CREATE_TRANSACTION,
    function(TransactionEvent $event) {
        // @var Transaction $transaction
        $transaction = $event->transaction;

        // Run custom logic depending on the transaction type
        // ...
    }
);

# EVENT_AFTER_SAVE_TRANSACTION

Type
craft\commerce\events\TransactionEvent

The event that is triggered after a transaction has been saved.

use craft\commerce\events\TransactionEvent;
use craft\commerce\services\Transactions;
use craft\commerce\models\Transaction;
use yii\base\Event;

Event::on(
    Transactions::class,
    Transactions::EVENT_AFTER_SAVE_TRANSACTION,
    function(TransactionEvent $event) {
        // @var Transaction $transaction
        $transaction = $event->transaction;

        // Run custom logic for failed transactions
        // ...
    }
);