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. |
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.
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. |