OMS configuration for Stripe
Edit on GitHubThe complete default payment OMS configuration is available at vendor/spryker/sales-payment/config/Zed/Oms/ForeignPaymentStateMachine01.xml
.
The payment flow of the default OMS involves authorizing the initial payment. The amount is temporarily blocked when the payment method permits. Then, the OMS sends requests to capture, that is, transfer of the previously blocked amount from the customer’s account to the store account.
The Payment/Capture
command initiates the capture action. By default, this command is initiated when a Back Office user clicks Ship on the Order Overview page.
Optionally, you can change and configure your own payment OMS based on ForeignPaymentStateMachine01.xml
from the core package and change this behavior according to your business flow. For more information about OMS configuration, see Install the Order Management feature.
To configure your payment OMS based on ForeignPaymentStateMachine01.xml
, copy ForeignPaymentStateMachine01.xml
with the Subprocess
folder to the project root config/Zed/oms
. Then, change the file’s name and the value of <process name=
in the file.
The following example shows how to configure the order state machine transition from ready for dispatch
to payment capture pending
:
State machine example
<?xml version="1.0"?>
<statemachine
xmlns="spryker:oms-01"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="spryker:oms-01 https://static.spryker.com/oms-01.xsd"
>
<process name="SomeProjectProcess" main="true">
<!-- other configurations -->
<states>
<!-- other states -->
<state name="payment capture pending" display="oms.state.in-progress"/>
<!-- other states -->
</states>
<transitions>
<!-- other transitions -->
<transition happy="true">
<source>ready for dispatch</source>
<target>payment capture pending</target>
<event>capture payment</event>
</transition>
<!-- other transitions -->
</transitions>
<events>
<!-- other events -->
<event name="capture payment" onEnter="true" command="Payment/Capture"/>
<!-- other events -->
</events>
</process>
</statemachine>
By default, the timeout for the payment authorization action is set to seven days. If the order is in the payment authorization pending
state, after a day the order state is changed to payment authorization failed
. Another day later, the order is transitioned to the payment authorization canceled
state.
To decrease or increase timeouts or change the states, update config/Zed/oms/Subprocess/PaymentAuthorization01.xml
.
For more information on the integration of ACP payment methods with OMS configuration, see Integrate ACP payment apps with Spryker OMS configuration.
Thank you!
For submitting the form