LogoLogo
BlogLogin
English
English
  • An Introduction to Saferpay
    • Licensing
      • Legacy licensing
    • Reconciliation
    • Acquirers & Payment Methods
    • Web Shop Plugins and certified partners
      • ePages Beyond
      • ePages NOW
      • Magento 2
      • Odoo
      • PrestaShop
        • PrestaShop User Guide
      • Salesforce Commerce Cloud
      • SAP Commerce Cloud
      • Shopware 6
        • Shopware 6 User Guide - German
        • Shopware 6 User Guide - English
      • WordPress WooCommerce
      • Shopify
      • Oxid eShop
    • Supported Languages
    • Common Saferpay terms - Glossary
  • News
    • Changes for transactions without customer presence
    • Changes for the Saferpay Hosted Forms, Fields and Payment Page
  • Quick Links
    • Web Shop Plugins and certified partners
    • Secure PayGate
    • User Administration
    • Payment Page Configuration
    • Risk Management
    • API Authentication
  • Interfaces
    • Payment API (aka JSON API)
    • Management API
    • Backoffice
      • The Home screen
      • Batch Processing
      • Transactions
        • Transaction Details
        • Batch Close
        • Declined transactions
        • Pending authorizations
        • Analytics
        • SEPA Refunds Export
        • Authorization & Payment
        • Credit
      • Risk Management
      • Secure PayGate / Payment Links
      • Secure Card Data
        • Secure Card Data Details
      • Settings
        • JSON API basic/Client Certificate authentication
        • User Administration
        • Payment Page Configuration
      • Online Support
      • User Profile
    • Saferpay OnSite
    • Feedback
  • Integration Guide
    • Integrating Saferpay
    • General Information
      • Data Security and PCI DSS
      • Versioning
      • 3-D Secure
      • Payment Service Directive 2 - PSD2
      • Dynamic Currency Conversion
      • Iframe Integration and CSS
    • Ways of integration
      • Payment Page
        • Payment Page checklist
      • Transaction Interface
        • Recurring Payments
        • Refunds
          • SEPA Refunds
      • Capture and Daily Closing
        • Partial Captures
          • Marketplace
      • Secure Card Data - Tokenization
      • Saferpay Fields
      • Inquire Interfaces
      • Mobile Integration
      • Omni-Channel
      • Fraud Intelligence
        • Silver
        • Fraud Intelligence Integration
      • Mail Phone Order
      • Error Handling
      • API Health Check
      • Saferpay API Specification
    • Payment Methods & Wallets
      • General and special cases
      • Account-to-Account Payments
      • Alipay+
      • Apple Pay
      • American Express
      • Bancontact
      • Billie
      • blik
      • Click to Pay
      • Diners Club International & Discover Card
      • eps
      • giropay
      • Google Pay
      • iDEAL 2.0
      • JCB
      • Klarna Payments
      • Maestro International
      • Mastercard
      • paydirekt
      • PayPal
      • PostFinance Pay
      • Przelewy24
      • Reka
      • SEPA Direct Debit
      • Sofort by Klarna
      • TWINT
      • UnionPay
      • Visa & V PAY
      • WeChat Pay
      • WL Crypto Payments
    • Testing
    • Go-Live
    • Frequently Asked Questions
    • Saferpay Demo
      • Saferpay Demo Environment
      • Saferpay Demo Shop
    • Support
    • Changelog
Powered by GitBook
On this page
  • Requirements
  • The Transaction-Reference
  • How to get the transaction reference, using Saferpay.
  • How to get the transaction reference via POS
  • Use-Cases
  • Transferring a transaction from POS to Saferpay (E Commerce)
  • Transferring the card-details from POS to Saferpay (E Commerce)
  • Testing

Was this helpful?

  1. Integration Guide
  2. Ways of integration

Omni-Channel

Omni-Channel is the fusion of, the previously separated, POS (Point Of Sales) and E Commerce, enabling the merchant to move transactions between these two worlds, starting them on one end, finishing them on the other, or just moving card-data from the POS-side to E Commerce.

This chapter soely covers the E-Commerce side of Omni-Channel, meaning moving transactions/card data from POS towards E-Commerce.

However, since Omni-Channel is the combination of the two worlds, you should contact your account-manager/sales contact, in order to get help with the POS side.

Please consider our license-chapter, to determine, if Omni-Channel is available for you.

Requirements

The following requirements need to be met, in order to use omni-channel:

  • A capable Saferpay licence (Flex, E Commerce, or Business) and thus the existence of a valid identification with a username and password for the Saferpay system.

  • Availability of at least one active Saferpay terminal via which payment can be carried out and availability of the associated Saferpay TerminalId.

  • Availability of at least one POS-device and a corresponding contract, that is compatible with Worldline Omni-Channel.

  • If the Secure Card Data use-case is used, you also need Saferpay Secure card Data to be activated.

  • Omni-Channel can only be performed with the following payment methods:

    • Visa/V PAY

    • Mastercard/Mastercard Debit

    • Maestro International

    • JCB

    • UnionPay (Creation of an alias is NOT SUPPORTED!)

    • Diners/Discover

    • American Express

    • Alipay+

    • Twint (Creation of an alias is NOT SUPPORTED!)

    • WeChat Pay (Creation of an alias is NOT SUPPORTED!)

Please contact your account-manager/sales contact, if you are unsure about whether your POS-integration is capable of Omni-Channel, or not!

The Transaction-Reference

Before you can begin integrating the specific use-cases, you first need to acquire the Transaction Reference.

This reference is used to perform the omni-channel requests in the first place, by referencing a previously performed POS (or E Commerce) transaction inside the Worldline acquiring-systems. Using this reference, the transaction and/or used card-details then can be transfered from the POS system to Saferpay (E Commerce).

How to get the transaction reference, using Saferpay.

Saferpay always returns the reference inside the Transaction.SixTransactionReference parameter:

"Transaction": {
    "Type": "PAYMENT",
    "Status": "AUTHORIZED",
    "Id": "723n4MAjMdhjSAhAKEUdA8jtl9jb",
    "Date": "2015-01-30T12:45:22.258+01:00",
    "Amount": {
      "Value": "100",
      "CurrencyCode": "CHF"
    },
    "AcquirerName": "Saferpay Test Card",
    "AcquirerReference": "000000",
    "SixTransactionReference": "0:0:3:723n4MAjMdhjSAhAKEUdA8jtl9jb",
    "ApprovalCode": "012345"
  }

How to get the transaction reference via POS

The transaction-reference may always have this general format:

0:0:3:723n4MAjMdhjSAhAKEUdA8jtl9jb

However, depending on which POS integration you have, this information may not be obvious, or even be returned in multiple parameters, requiring you to first combine a certain set of parameters, in order to get this reference.

When in doubt, please contact your account-manager/sales contact, or POS-support. They'll be able to help you.

Use-Cases

Once you have ensured, that the transaction reference is gathered and built correctly, you can proceed with integrating the specific Omni-Channel use-cases, which are the following:

Transferring a transaction from POS to Saferpay (E Commerce)

This enables you to perform further actions on a POS transaction, like authorizing a card and capturing the transaction on E Commerce side, or refunding a POS transaction via Saferpay, be it via Backoffice, or via API.

This is done, by executing the OmniChannel AcquireTransaction request:

Request

{
  "RequestHeader": {
    "SpecVersion": "[current Spec-Version]",
    "CustomerId": "[your customer id]",
    "RequestId": "[your request id]",
    "RetryIndicator": 0
  },
  "TerminalId": "17791723",
  "SixTransactionReference": "1:100002:1:87768996410",
  "OrderId": "Id of the order"
}

Response

{
  "ResponseHeader": {
    "SpecVersion": "[current Spec-Version]",
    "RequestId": "[your request id]"
  },
  "Transaction": {
    "Type": "PAYMENT",
    "Status": "AUTHORIZED",
    "Id": "723n4MAjMdhjSAhAKEUdA8jtl9jb",
    "Date": "2015-01-30T12:45:22.258+01:00",
    "Amount": {
      "Value": "100",
      "CurrencyCode": "CHF"
    },
    "AcquirerName": "Saferpay Test",
    "AcquirerReference": "8EZRQVT0ODW4ME525",
    "SixTransactionReference": "0:0:3:723n4MAjMdhjSAhAKEUdA8jtl9jb",
    "ApprovalCode": "012345"
  },
  "PaymentMeans": {
    "Brand": {
      "PaymentMethod": "VISA",
      "Name": "VISA Saferpay Test"
    },
    "DisplayText": "9123 45xx xxxx 1234",
    "Card": {
      "Number": "912345678901234",
      "MaskedNumber": "912345xxxxxx1234",
      "ExpYear": 2015,
      "ExpMonth": 9,
      "HolderName": "Max Mustermann",
      "CountryCode": "CH"
    }
  }
}

This then behaves like any other Saferpay transaction, offering the same set of possibilities. The transaction will also show up inside the Saferpay Backoffice Journal.

Transferring the card-details from POS to Saferpay (E Commerce)

This method gathers the card-details of a POS transaction and saves them within Saferpay Secure Card Data, giving you a card-alias. This alias then can be used like any other Secure Card Data alias. You could perform recurring payments, or even offer this card within the card holders online account, so he/she may execute further transactions, without having to enter his/her card-details.

This is done, by executing the OmniChannel InsertAlias request:

Request

{
  "RequestHeader": {
    "SpecVersion": "[current Spec-Version]",
    "CustomerId": "[your customer id]",
    "RequestId": "[your request id]",
    "RetryIndicator": 0
  },
  "SixTransactionReference": "1:100002:1:87768996410",
  "RegisterAlias": {
    "IdGenerator": "RANDOM"
  }
}

Please also consider the settings for the IdGenerator!

Response

{
  "ResponseHeader": {
    "SpecVersion": "[current Spec-Version]",
    "RequestId": "[your request id]"
  },
  "Alias": {
    "Id": "alias35nfd9mkzfw0x57iwx",
    "Lifetime": 1000
  },
  "PaymentMeans": {
    "Brand": {
      "PaymentMethod": "VISA",
      "Name": "VISA Saferpay Test"
    },
    "DisplayText": "9123 45xx xxxx 1234",
    "Card": {
      "MaskedNumber": "912345xxxxxx1234",
      "ExpYear": 2015,
      "ExpMonth": 9,
      "HolderName": "Max Mustermann",
      "CountryCode": "CH"
    }
  }
}

This gives you a Secure Card Data alias, which can be used like any other alias.

Testing

Testing Omni-Channel requires a special activation and configuration of your test-account. For end-to-end testing, you'd also require special POS-devices and test-cards.

If you are in need of testing Omni-Channel use-cases, please contact your account-manager/sales contact, in order for the activation to be done and to get access to the needed hardware.

PreviousMobile IntegrationNextFraud Intelligence

Last updated 7 months ago

Was this helpful?