Skip to content

PaymentSources ​

Type
Class
Namespace
craft\commerce\services
Inherits
craft\commerce\services\PaymentSources » yii\base\Component » yii\base\BaseObject
Implements
yii\base\Configurable
Since
2.0

Payment Sources service.

View source

Public Properties ​

PropertyDescription
allGatewayPaymentSourcesByCustomerId\Illuminate\Support\Collection<\craft\commerce\models\PaymentSource>
allPaymentSourcesByCustomerId\Illuminate\Support\Collection<\craft\commerce\models\PaymentSource>
allPaymentSourcesByGatewayId\Illuminate\Support\Collection
behaviorsyii\base\Behavior – List of behaviors attached to this component.

allGatewayPaymentSourcesByCustomerId ​

Type
\Illuminate\Support\Collection<\craft\commerce\models\PaymentSource>
Default value
null
Access
Read-only

View source

allPaymentSourcesByCustomerId ​

Type
\Illuminate\Support\Collection<\craft\commerce\models\PaymentSource>
Default value
null
Access
Read-only

View source

allPaymentSourcesByGatewayId ​

Type
\Illuminate\Support\Collection
Default value
null
Access
Read-only

View source

Public Methods ​

MethodDescription
__call()Calls the named method which is not a class method.
__clone()This method is called after the object is created by cloning an existing one.
__construct()Constructor.
__get()Returns the value of a component property.
__isset()Checks if a property is set, i.e. defined and not null.
__set()Sets the value of a component property.
__unset()Sets a component property to be null.
attachBehavior()Attaches a behavior to this component.
attachBehaviors()Attaches a list of behaviors to the component.
behaviors()Returns a list of behaviors that this component should behave as.
canGetProperty()Returns a value indicating whether a property can be read.
canSetProperty()Returns a value indicating whether a property can be set.
className()Returns the fully qualified name of this class.
createPaymentSource()Creates a payment source for a user in the gateway based on a payment form.
deletePaymentSourceById()Delete a payment source by its ID.
detachBehavior()Detaches a behavior from the component.
detachBehaviors()Detaches all behaviors from the component.
ensureBehaviors()Makes sure that the behaviors declared in behaviors() are attached to this component.
getAllGatewayPaymentSourcesByCustomerId()Returns a customer's payment sources on a gateway, per the customer/user's ID.
getAllPaymentSourcesByCustomerId()Returns a customer's payment sources, per the customer's ID.
getAllPaymentSourcesByGatewayId()Returns all payment sources for a gateway.
getBehavior()Returns the named behavior object.
getBehaviors()Returns all behaviors attached to this component.
getPaymentSourceById()Returns a payment source by its ID.
getPaymentSourceByIdAndUserId()Returns a payment source by its ID and user ID.
getPaymentSourceByTokenAndGatewayId()Returns a payment source by its gateways token
hasEventHandlers()Returns a value indicating whether there is any handler attached to the named event.
hasMethod()Returns a value indicating whether a method is defined.
hasProperty()Returns a value indicating whether a property is defined for this component.
init()Initializes the object.
off()Detaches an existing event handler from this component.
on()Attaches an event handler to an event.
savePaymentSource()Saves a payment source.
trigger()Triggers an event.

createPaymentSource() ​

Creates a payment source for a user in the gateway based on a payment form.

View source

Arguments ​

Returns ​

craft\commerce\models\PaymentSource – The saved payment source.

Throws ​

deletePaymentSourceById() ​

Delete a payment source by its ID.

View source

Arguments ​

Throws ​

  • Throwable
    in case something went wrong when deleting.

getAllGatewayPaymentSourcesByCustomerId() ​

Returns a customer's payment sources on a gateway, per the customer/user's ID.

View source

Arguments ​

Returns ​

\Illuminate\Support\Collection<\craft\commerce\models\PaymentSource>

Throws ​

getAllPaymentSourcesByCustomerId() ​

Returns a customer's payment sources, per the customer's ID.

View source

Arguments ​

Returns ​

\Illuminate\Support\Collection<\craft\commerce\models\PaymentSource>

Throws ​

getAllPaymentSourcesByGatewayId() ​

Returns all payment sources for a gateway.

View source

Arguments ​

Returns ​

\Illuminate\Support\Collection

Throws ​

getPaymentSourceById() ​

Returns a payment source by its ID.

View source

Arguments ​

  • $sourceId (integer) – The source ID

Returns ​

craft\commerce\models\PaymentSource, null

Throws ​

getPaymentSourceByIdAndUserId() ​

Returns a payment source by its ID and user ID.

View source

Arguments ​

  • $sourceId (integer) – The source ID
  • $userId (integer) – The source's user ID

getPaymentSourceByTokenAndGatewayId() ​

Returns a payment source by its gateways token

View source

Arguments ​

  • $token (string) – The payment gateway's token
  • $gatewayId (integer) – The gateway's ID

Returns ​

craft\commerce\models\PaymentSource, null

Throws ​

savePaymentSource() ​

Saves a payment source.

View source

Arguments ​

Returns ​

boolean – Whether the payment source was saved successfully

Throws ​

Events ​

EVENT_AFTER_SAVE_PAYMENT_SOURCE ​

Type
craft\commerce\events\PaymentSourceEvent

The event that is triggered after a payment source is added.

php
use craft\commerce\events\PaymentSourceEvent;
use craft\commerce\services\PaymentSources;
use craft\commerce\models\PaymentSource;
use yii\base\Event;

Event::on(
    PaymentSources::class,
    PaymentSources::EVENT_AFTER_SAVE_PAYMENT_SOURCE,
    function(PaymentSourceEvent $event) {
        // @var PaymentSource $source
        $source = $event->paymentSource;

        // Settle any outstanding balance
        // ...
    }
);

EVENT_BEFORE_SAVE_PAYMENT_SOURCE ​

Type
craft\commerce\events\PaymentSourceEvent

The event that is triggered before a payment source is added.

php
use craft\commerce\events\PaymentSourceEvent;
use craft\commerce\services\PaymentSources;
use craft\commerce\models\PaymentSource;
use yii\base\Event;

Event::on(
    PaymentSources::class,
    PaymentSources::EVENT_BEFORE_SAVE_PAYMENT_SOURCE,
    function(PaymentSourceEvent $event) {
        // @var PaymentSource $source
        $source = $event->paymentSource;

        // ...
    }
);

EVENT_DELETE_PAYMENT_SOURCE ​

Type
craft\commerce\events\PaymentSourceEvent

The event that is triggered when a payment source is deleted.

php
use craft\commerce\events\PaymentSourceEvent;
use craft\commerce\services\PaymentSources;
use craft\commerce\models\PaymentSource;
use yii\base\Event;

Event::on(
    PaymentSources::class,
    PaymentSources::EVENT_DELETE_PAYMENT_SOURCE,
    function(PaymentSourceEvent $event) {
        // @var PaymentSource $source
        $source = $event->paymentSource;

        // Warn a user they don’t have any valid payment sources saved
        // ...
    }
);