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

$allGatewayPaymentSourcesByUserId

Signature

public craft\commerce\models\PaymentSource[] getAllGatewayPaymentSourcesByUserId ( \craft\commerce\services\int $gatewayId = null, \craft\commerce\services\int $userId = null )

$allPaymentSourcesByUserId

Signature

public craft\commerce\models\PaymentSource[] getAllPaymentSourcesByUserId ( \craft\commerce\services\int $userId = null )

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 an object property.
__isset()Checks if a property is set, i.e. defined and not null.
__set()Sets value of an object property.
__unset()Sets an object property to 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.
getAllGatewayPaymentSourcesByUserId()Returns a user's payment sources on a gateway, per the user's ID.
getAllPaymentSourcesByUserId()Returns a user's payment sources, per the user's ID.
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.
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.
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

Signature

public craft\commerce\models\PaymentSource createPaymentSource ( \craft\commerce\services\int $userId, craft\commerce\base\GatewayInterface $gateway, craft\commerce\models\payments\BasePaymentForm $paymentForm, \craft\commerce\services\string $sourceDescription = null )

deletePaymentSourceById()

Delete a payment source by its ID.

View source

Arguments

Returns

boolean

Throws

  • Throwable
    in case something went wrong when deleting.

Signature

public boolean deletePaymentSourceById ( $id )

getAllGatewayPaymentSourcesByUserId()

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

View source

Arguments

Returns

craft\commerce\models\PaymentSource[]

Signature

public craft\commerce\models\PaymentSource[] getAllGatewayPaymentSourcesByUserId ( \craft\commerce\services\int $gatewayId = null, \craft\commerce\services\int $userId = null )

getAllPaymentSourcesByUserId()

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

View source

Arguments

Returns

craft\commerce\models\PaymentSource[]

Signature

public craft\commerce\models\PaymentSource[] getAllPaymentSourcesByUserId ( \craft\commerce\services\int $userId = null )

getPaymentSourceById()

Returns a payment source by its ID.

View source

Arguments

  • $sourceId (integer) – The source ID

Returns

craft\commerce\models\PaymentSource, null

Signature

public craft\commerce\models\PaymentSource, null getPaymentSourceById ( \craft\commerce\services\int $sourceId )

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

Returns

craft\commerce\models\PaymentSource, null

Signature

public craft\commerce\models\PaymentSource, null getPaymentSourceByIdAndUserId ( \craft\commerce\services\int $sourceId, \craft\commerce\services\int $userId )

savePaymentSource()

Saves a payment source.

View source

Arguments

Returns

boolean – Whether the payment source was saved successfully

Throws

Signature

public boolean savePaymentSource ( craft\commerce\models\PaymentSource $paymentSource, \craft\commerce\services\bool $runValidation = true )

Events

EVENT_AFTER_SAVE_PAYMENT_SOURCE

Type
craft\commerce\events\PaymentSourceEvent

The event that is triggered after a plan is saved.

Plugins can get notified after a payment source is added.

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

Event::on(PaymentSources::class, PaymentSources::EVENT_BEFORE_SAVE_PAYMENT_SOURCE, function(PaymentSourceEvent $e) {
    // Do something - perhaps settle any outstanding balance
});

EVENT_BEFORE_SAVE_PAYMENT_SOURCE

Type
craft\commerce\events\PaymentSourceEvent

The event that is triggered before a plan is saved.

Plugins can get notified before a payment source is added.

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

Event::on(PaymentSources::class, PaymentSources::EVENT_BEFORE_SAVE_PAYMENT_SOURCE, function(PaymentSourceEvent $e) {
    // Do something
});

EVENT_DELETE_PAYMENT_SOURCE

Type
craft\commerce\events\PaymentSourceEvent

The event that is triggered when a payment source is deleted

Plugins can get notified when a payment source is deleted.

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

Event::on(PaymentSources::class, PaymentSources::EVENT_DELETE_PAYMENT_SOURCE, function(PaymentSourceEvent $e) {
    // Do something - perhaps warn a user they have no valid payment sources saved.
});