Gateway ​
- Type
- Abstract Class
- Namespace
- craft\commerce\base
- Inherits
- craft\commerce\base\Gateway » craft\base\SavableComponent » craft\base\ConfigurableComponent » craft\base\Component » craft\base\Model » yii\base\Model » yii\base\Component » yii\base\BaseObject
- Implements
- ArrayAccess, IteratorAggregate, craft\base\ComponentInterface, craft\base\ConfigurableComponentInterface, craft\base\ModelInterface, craft\base\SavableComponentInterface, craft\commerce\base\GatewayInterface, yii\base\Arrayable, yii\base\Configurable, yii\base\StaticInstanceInterface
- Uses traits
- craft\base\ClonefixTrait, craft\base\SavableComponentTrait, craft\commerce\base\GatewayTrait, yii\base\ArrayableTrait, yii\base\StaticInstanceTrait
- Extended by
- craft\commerce\base\SubscriptionGateway, craft\commerce\gateways\Dummy, craft\commerce\gateways\Manual, craft\commerce\gateways\MissingGateway
- Since
- 2.0
Class Gateway
Public Properties ​
| Property | Description |
|---|---|
| _isFrontendEnabled | boolean, string, null – Enabled on the frontend |
| activeValidators | yii\validators\Validator – The validators applicable to the current scenario. |
| attributes | array – Attribute values (name => value). |
| behaviors | yii\base\Behavior – List of behaviors attached to this component. |
| cpEditUrl | string |
| dateArchived | DateTime, null – Archived Date |
| dateCreated | DateTime, null – The date that the component was created |
| dateUpdated | DateTime, null – The date that the component was last updated |
| errors | array – Errors for all attributes or the specified attribute. |
| firstErrors | array – The first errors. |
| handle | string, null – Handle |
| id | integer, string, null – The component’s ID (could be a temporary one: "new:X") |
| isArchived | boolean |
| isFrontendEnabled | boolean, string, null |
| isNew | boolean – Whether the component is new (unsaved) |
| iterator | ArrayIterator – An iterator for traversing the items in the list. |
| name | string, null – Name |
| paymentFormModel | null, craft\commerce\models\payments\BasePaymentForm |
| paymentType | string |
| paymentTypeOptions | array |
| scenario | string – The scenario that this model is in. |
| settings | array – The component’s settings |
| settingsHtml | string, null |
| sortOrder | integer, null – Sort order |
| transactionHashFromWebhook | null, string |
| uid | string, null – UID |
| validators | ArrayObject, yii\validators\Validator – All the validators declared in the model. |
| webhookUrl |
cpEditUrl ​
- Type
- string
- Default value
null
isArchived ​
- Type
- boolean
- Default value
null
isFrontendEnabled ​
paymentFormModel ​
- Type
- null, craft\commerce\models\payments\BasePaymentForm
- Default value
null
paymentType ​
- Type
- string
- Default value
null
paymentTypeOptions ​
- Type
- array
- Default value
null
transactionHashFromWebhook ​
webhookUrl ​
- Default value
null- Access
- Read-only
Public Methods ​
| Method | Description |
|---|---|
| __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() | |
| __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. |
| __toString() | Returns the name of this payment method. |
| __unset() | Sets a component property to be null. |
| activeAttributes() | Returns the attribute names that are subject to validation in the current scenario. |
| addError() | Adds a new error to the specified attribute. |
| addErrors() | Adds a list of errors. |
| addModelErrors() | Adds errors from another model, with a given attribute name prefix. |
| afterDelete() | Performs actions after a component is deleted. |
| afterSave() | Performs actions after a component is saved. |
| afterValidate() | This method is invoked after validation ends. |
| attachBehavior() | Attaches a behavior to this component. |
| attachBehaviors() | Attaches a list of behaviors to the component. |
| attributeHints() | Returns the attribute hints. |
| attributeLabels() | Returns the attribute labels. |
| attributes() | Returns the list of attribute names. |
| authorize() | Makes an authorize request. |
| availableForUseWithOrder() | Returns true if gateway supports payments for the supplied order. |
| beforeApplyDelete() | Performs actions before a component delete is applied to the database. |
| beforeDelete() | Performs actions before a component is deleted. |
| beforeSave() | Performs actions before a component is saved. |
| beforeValidate() | This method is invoked before validation starts. |
| 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. |
| capture() | Makes a capture request. |
| className() | Returns the fully qualified name of this class. |
| clearErrors() | Removes errors for all attributes or a single attribute. |
| completeAuthorize() | Complete the authorization for offsite payments. |
| completePurchase() | Complete the purchase for offsite payments. |
| cpPaymentsEnabled() | Returns whether this gateway allows payments in control panel. |
| createPaymentSource() | Creates a payment source from source data and customer id. |
| createValidators() | Creates validator objects based on the validation rules specified in rules(). |
| datetimeAttributes() | Returns the names of any attributes that should hold DateTime values. |
| defineRules() | Returns the validation rules for attributes. |
| deletePaymentSource() | Deletes a payment source on the gateway by its token. |
| detachBehavior() | Detaches a behavior from the component. |
| detachBehaviors() | Detaches all behaviors from the component. |
| displayName() | Returns the display name of this class. |
| ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. |
| extraFields() | Returns the list of fields that can be expanded further and returned by toArray(). |
| fields() | Returns the list of fields that should be returned by default by toArray() when no specific fields are specified. |
| formName() | Returns the form name that this model class should use. |
| generateAttributeLabel() | Generates a user friendly attribute label based on the give attribute name. |
| getActiveValidators() | Returns the validators applicable to the current scenario. |
| getAttributeHint() | Returns the text hint for the specified attribute. |
| getAttributeLabel() | Returns the text label for the specified attribute. |
| getAttributes() | Returns attribute values. |
| getBehavior() | Returns the named behavior object. |
| getBehaviors() | Returns all behaviors attached to this component. |
| getCpEditUrl() | |
| getErrorSummary() | Returns the errors for all attributes as a one-dimensional array. |
| getErrors() | Returns the errors for all attributes or a single attribute. |
| getFirstError() | Returns the first error of the specified attribute. |
| getFirstErrors() | Returns the first error of every attribute in the model. |
| getIsFrontendEnabled() | |
| getIsNew() | Returns whether the component is new (unsaved). |
| getIterator() | Returns an iterator for traversing the attributes in the model. |
| getPaymentConfirmationFormHtml() | Returns the html to use when paying with a stored payment source. |
| getPaymentFormHtml() | Returns payment Form HTML |
| getPaymentFormModel() | Returns payment form model to use in payment forms. |
| getPaymentTypeOptions() | Returns the payment type options. |
| getScenario() | Returns the scenario that this model is used in. |
| getSettings() | Returns an array of the component’s settings. |
| getSettingsHtml() | Returns the component’s settings HTML. |
| getTransactionHashFromWebhook() | Retrieves the transaction hash from the webhook data. This could be a query string param or part of the response data. |
| getValidators() | Returns all the validators declared in rules(). |
| getWebhookUrl() | Returns the webhook url for this gateway. |
| hasErrors() | Returns a value indicating whether there is any validation error. |
| 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. |
| instance() | Returns static class instance, which can be used to obtain meta information. |
| isAttributeActive() | Returns a value indicating whether the attribute is active in the current scenario. |
| isAttributeRequired() | Returns a value indicating whether the attribute is required. |
| isAttributeSafe() | Returns a value indicating whether the attribute is safe for massive assignments. |
| isSelectable() | Returns whether the component should be selectable in component Type selects. |
| load() | Populates the model with input data. |
| loadMultiple() | Populates a set of models with the data from end user. |
| off() | Detaches an existing event handler from this component. |
| offsetExists() | Returns whether there is an element at the specified offset. |
| offsetGet() | Returns the element at the specified offset. |
| offsetSet() | Sets the element at the specified offset. |
| offsetUnset() | Sets the element value at the specified offset to null. |
| on() | Attaches an event handler to an event. |
| onUnsafeAttribute() | This method is invoked when an unsafe attribute is being massively assigned. |
| processWebHook() | Processes a webhook and return a response |
| purchase() | Makes a purchase request. |
| refund() | Makes an refund request. |
| rules() | Returns the validation rules for attributes. |
| safeAttributes() | Returns the attribute names that are safe to be massively assigned in the current scenario. |
| scenarios() | Returns a list of scenarios and the corresponding active attributes. |
| setAttributes() | Sets the attribute values in a massive way. |
| setIsFrontendEnabled() | |
| setScenario() | Sets the scenario for the model. |
| settingsAttributes() | Returns the list of settings attribute names. |
| showPaymentFormSubmitButton() | Shows the payment button on the payment form. |
| supportsAuthorize() | Returns true if gateway supports authorize requests. |
| supportsCapture() | Returns true if gateway supports capture requests. |
| supportsCompleteAuthorize() | Returns true if gateway supports completing authorize requests |
| supportsCompletePurchase() | Returns true if gateway supports completing purchase requests |
| supportsPartialPayment() | Returns true if gateway supports partial refund requests. |
| supportsPartialRefund() | Returns true if gateway supports partial refund requests. |
| supportsPaymentSources() | Returns true if gateway supports storing payment sources |
| supportsPurchase() | Returns true if gateway supports purchase requests. |
| supportsRefund() | Returns true if gateway supports refund requests. |
| supportsWebhooks() | Returns true if gateway supports webhooks. |
| toArray() | Converts the model into an array. |
| transactionSupportsRefund() | |
| trigger() | Triggers an event. |
| validate() | Performs the data validation. |
| validateMultiple() | Validates multiple models. |
__toString() ​
Returns the name of this payment method.
Returns ​
availableForUseWithOrder() ​
Returns true if gateway supports payments for the supplied order.
This method is called before a payment is made for the supplied order. It can be used by developers building a checkout and deciding if this gateway should be shown as and option to the customer.
It also can prevent a gateway from being used with a particular order.
An example of this can be found in the manual payment gateway: It has a setting that can limit its use to only be used with orders that are of a zero value amount. See below for an example of how it uses this method to reject the gateway's use on orders that are not $0.00 if the setting is turned on
public function availableForUseWithOrder($order): bool
if ($this->onlyAllowForZeroPriceOrders && $order->getTotalPrice() != 0) {
return false;
}
return true;
}Arguments ​
$order(mixed) – Order The order this gateway can or can not be available for payment with.
cpPaymentsEnabled() ​
Returns whether this gateway allows payments in control panel.
defineRules() ​
Returns the validation rules for attributes.
See rules() for details about what should be returned.
Models should override this method instead of rules() so EVENT_DEFINE_RULES handlers can modify the class-defined rules.
Returns ​
getCpEditUrl() ​
getPaymentConfirmationFormHtml() ​
Returns the html to use when paying with a stored payment source.
Arguments ​
$params(array)
Returns ​
getPaymentFormHtml() ​
Returns payment Form HTML
Arguments ​
$params
getPaymentTypeOptions() ​
Returns the payment type options.
getTransactionHashFromWebhook() ​
- Since
- 3.1.9
Retrieves the transaction hash from the webhook data. This could be a query string param or part of the response data.
Returns ​
getWebhookUrl() ​
Returns the webhook url for this gateway.
Arguments ​
$params(array) – Parameters for the url.
showPaymentFormSubmitButton() ​
Shows the payment button on the payment form.
Returns ​
supportsPartialPayment() ​
Returns true if gateway supports partial refund requests.
transactionSupportsRefund() ​
- Since
- 4.8.1
Arguments ​
$transaction(craft\commerce\models\Transaction)
Returns ​
Protected Methods ​
| Method | Description |
|---|---|
| defineBehaviors() | Returns the behaviors to attach to this class. |
| extractFieldsFor() | Extract nested fields from a fields collection for a given root field Nested fields are separated with dots (.). e.g: "item.id" The previous example would extract "id". |
| extractRootFields() | Extracts the root field names from nested fields. |
| resolveFields() | Determines which fields can be returned by toArray(). |
Constants ​
| Constant | Description |
|---|---|
SCENARIO_DEFAULT | The name of the default scenario. |