PaymentMethodConfigOptions
PaymentMethodConfigOptions
Defines the object which is used to construct the PaymentMethodHandler.
interface PaymentMethodConfigOptions<T extends ConfigArgs> extends ConfigurableOperationDefOptions<T> {
createPayment: CreatePaymentFn<T>;
settlePayment: SettlePaymentFn<T>;
cancelPayment?: CancelPaymentFn<T>;
createRefund?: CreateRefundFn<T>;
onStateTransitionStart?: OnTransitionStartFn<PaymentState, PaymentTransitionData>;
}
- Extends:
ConfigurableOperationDefOptions<T>
createPayment
This function provides the logic for creating a payment. For example, it may call out to a third-party service with the data and should return a CreatePaymentResult object contains the details of the payment.
settlePayment
This function provides the logic for settling a payment, also known as "capturing".
For payment integrations that settle/capture the payment on creation (i.e. the
createPayment()
method returns with a state of 'Settled'
) this method
need only return { success: true }
.
cancelPayment
This function provides the logic for cancelling a payment, which would be invoked when a call is
made to the cancelPayment
mutation in the Admin API. Cancelling a payment can apply
if, for example, you have created a "payment intent" with the payment provider but not yet
completed the payment. It allows the incomplete payment to be cleaned up on the provider's end
if it gets cancelled via Vendure.
createRefund
This function provides the logic for refunding a payment created with this payment method. Some payment providers may not provide the facility to programmatically create a refund. In such a case, this method should be omitted and any Refunds will have to be settled manually by an administrator.
onStateTransitionStart
This function, when specified, will be invoked before any transition from one PaymentState to another.
The return value (a sync / async boolean
) is used to determine whether the transition is permitted.