Prepurchase and create order integrations

The payment processing lifecycle begins at the time of check-out before an order is created. Users pay for an order by using one of the payment methods that is supported by the merchant such as credit cards, wallets, gift cards, and digital wallets.

Merchants must capture the following details for successful integration with any payment service provider (PSP) and IBM Sterling® Order Management System. More data might be required to be stored based on the location and regulatory compliance of the merchant and customers.
  • Capture payment details.
    • Payment type such as credit card.
    • Displaying the credit card number, typically the last 4 digits of the card.
    • Card name or type such as VISA.
    • Credit card expiry date.
    • Authorization ID.
  • Credit card token by using network tokenization or PSP-based tokenization.
  • Consent from the customer to store the card details with the merchant for future use, which are known as card on file transactions. Merchant needs to capture more token details for some of the transactions:
    • One-click check out for future orders.
    • Subscription-based orders.
    • Extra charges if the price of the order increases after modification.
    • Regenerate the payment token if the authorization expires.
  • Max charge limit - Maximum amount that a merchant can charge on the card during systematic or manual modifications of the order that resulted in a price increase.
    For example,
    • A customer places an order for $100. After some time, the customer wants to change 2-day shipping to overnight shipping, resulting in a price increase by $10. If the maximum charge limit on the card is $110, the merchant can charge $10 more on the card.
    • In meat or fruits industry, the actual charge amount is not known at the time of purchase. It can increase or decrease based on the weight of the product. In such cases, Sterling™ Order Management System charges the card up to the maximum charge limit.
  • Unlimited charges - If set to Y, Sterling Order Management System ignores the maximum charge limit and charges the card if the price increases. However, this attribute must be used judiciously if the extra charges are high.

Prerequisites

The following integrations must be set with a PSP for payment processing:
  • Check out integration to capture payment details.
  • Create order integration to pass on the payment details to Sterling Order Management System. These payment details are required during reauthentication, authentication for increase or decrease in charges, charge, and refund calls.
Example - Create order XML for create order integration

This example considers Adyen.com as a payment service provider and the integration is established by using the adapter that is provided by IBM. For more information, see OMS payment adapter.

<Order AuthorizationExpirationDate=“” CarrierAccountNo=“” CarrierServiceCode=“” ChainType=“” ChargeActualFreightFlag=“N” CustCustPONo=“” CustomerEMailID=“” CustomerPONo=“” DeliveryCode=“” Division=“” DocumentType=“0001” DraftOrderFlag=“N” EnterpriseCode=“MYLUMA” EntryType=“” FreightTerms=“” HasDeliveryLines=“N” HasProductLines=“Y” HasServiceLines=“N” HoldFlag=“N” >
        <OrderLines>
                <OrderLine DeliveryMethod=“PICK” DepartmentCode=“” FreightTerms=“” FulfillmentType=“PICK” ItemGroupCode=“PROD” OrderedQty=“1” ShipNode=“MY-LUMA-Store002">
                        <Item CostCurrency=“” ItemID=“HEADPHONE_01" UPCCode=“” UnitCost=“5" UnitOfMeasure=“EACH”/>
                        <LinePriceInfo ActualPricingQty=“1.00" IsPriceLocked=“Y” OrderedPricingQty=“1" PricingUOM=“EACH” RetailPrice=“5" TaxableFlag=“N” UnitPrice=“5"/>
                </OrderLine>
                <OrderLine DeliveryMethod=“PICK” DepartmentCode=“” FreightTerms=“” FulfillmentType=“PICK” ItemGroupCode=“PROD” OrderedQty=“1" ShipNode=“MY-LUMA-Store002”>
                        <Item CostCurrency=“” ItemID=“SUNGLASS_01” UPCCode=“” UnitCost=“5” UnitOfMeasure=“EACH”/>
                        <LinePriceInfo ActualPricingQty=“1.00” IsPriceLocked=“Y” OrderedPricingQty=“1” PricingUOM=“EACH” RetailPrice=“5” TaxableFlag=“N” UnitPrice=“5”/>
                </OrderLine>
        </OrderLines>
        <PersonInfoShipTo AddressLine1=“200 SW 8th St” City=“Miami” Country=“US” FirstName=“John” LastName=“Doe” State=“FL” ZipCode=“33130"/>
        <PersonInfoBillTo AddressLine1=“200 SW 8th St” City=“Miami” Country=“US” FirstName=“John” LastName=“Doe” State=“FL” ZipCode=“33130”/>
        <AdditionalAddresses NumberOfAdditionalAddresses=“0"/>
        <References/>
        <PaymentMethods>
                <PaymentMethod PaymentType=“CREDIT_CARD” AuthTime=“2022-07-29T16:16:28.000Z” CreditCardType=“VISA” CreditCardNo=“5454" DisplayCreditCardNo=“5454” CreditCardExpDate=“3/2030" FirstName=“John” LastName=“Doe” UnlimitedCharges=“Y” MaxChargeLimit=“10" PaymentReference5=“PVF8266LB6KXWD82” PaymentReference6=“customer12345" PaymentReference7=“TFZH94H2Q6TG5S82”>
                        <PaymentDetails RequestAmount=“10.0" ChargeType=“AUTHORIZATION” ProcessedAmount=“10.00" AuthorizationID=“PVF8266LB6KXWD82” AuthorizationExpirationDate=“2022-07-29T16:16:28.000Z” HoldAgainstBook=“Y” />
                        <PersonInfoBillTo AddressLine1=“200 SW 8th St” City=“Miami” Country=“US” FirstName=“John” LastName=“Doe” State=“FL” ZipCode=“33130"/>
                </PaymentMethod>
        </PaymentMethods>
</Order>
The table in this example provides the inbound mapping, which helps you define the attributes in your create order XML if you use Adyen as your payment service provider.
PSP attribute (For example, Adyen attribute) Sterling Order Management System attribute Description
pspReference PaymentReference5

AuthorizationID

Unique identifier for the payment.

Unique identifier in the PSP for the payment.

shopperReference PaymentReference6 Unique identifier for the shopper.
recurring.recurringDetailReference PaymentReference7 Recurring details reference in the PSP.
- AuthorizationExpirationDate Authorization expiry date in MMMM-MM-DDTHH:MM:SS.000Z format.
Note: PaymentReferences are default values and you can customize these values according to your business requirements.
Tokenization
Tokenization is a process of replacing sensitive payment data such as card numbers with nonsensitive data. Tokens are referred to as PAN and are a unique string of numbers. Tokens also provide the following benefits:
  • Increased security - Tokens cannot be used by any malicious actors to perform payment frauds.
  • Enable one-click payments - Helps the merchants to store card data securely, which enables fast check-outs for customers. These tokens are also suited for businesses with subscription-based business models.
The following methods of tokenization are most commonly used.
  • PSP-based tokenization - Card details are stored by the PSP and they are swapped for a token. This enables the Sterling Order Management System application to use the token securely during functions such as subscriptions and reauthorizations. In the example, recurringDetailReference is the Adyen token that can be reused during reauthorization and recurring orders.
  • Network tokenization - Card networks such as Visa and Mastercard provide tokenization services. Card details are swapped for a 16-digit alphanumeric code, which is referred to as PAN.

Considerations for card-on-file transactions

One-click check outs

If the customers authorize merchants to store their card details for future use, you can simplify the shopping experience for your customers by enabling one-click check outs from your e-commerce applications.

You can enable one-click check outs if the following conditions are met:
  • The customer registers with the merchant.
  • The customer provides consent to the merchant to store card details securely.
  • The customer places at least one order.
Card-on-file transactions

Card-on-file transactions are the card payments that are made by using the payment credentials, which are stored by merchants. The merchant swaps the credit card details for a token during the check-out. Sterling Order Management System must send this token to the PSP during subsequent authorization, reauthorization, or charge scenarios.

The following are the most common use cases for the card-on-file transactions.
  • Payments done for subscription orders.
  • Extra charges as a result of an increase in order total during order modifications.
  • Payments that are done by using the one-click check out orders.