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
    • 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
  • Pre-Authorizations
  • Supported payment methods
  • Technical and contractual requirements
  • What to do, if more time is needed
  • Partial approvals
  • Requirements
  • Integration
  • Example of Authorize Direct
  • Example for the Transaction Interface
  • Decrypted Scheme tokens
  • Dual branded cards
  • Special Cases
  • Credit Cards

Was this helpful?

  1. Integration Guide
  2. Payment Methods & Wallets

General and special cases

PreviousPayment Methods & WalletsNextAccount-to-Account Payments

Last updated 2 months ago

Was this helpful?

This chapter covers general and special cases, that do not apply to one payment method, but also do not apply in every case, for example special behaviors in case of certain acquirers and special features, across multiple payment methods, that need a special integration. This chapter covers these cases.

Pre-Authorizations

In case of many payment methods, they go through a two step process, we call Authorization and . This can be used to charge the customer at a later date to the time of the transaction, while still having a guarantee, that the money will arrive, in contrast to authorizing and capturing at a later date, e.g. by using .

Usually, the Capture has to happen within 10 days, depending on the payment method and the card hodlers bank -this is just a rule of thumb-. After this time-frame has passed, there won't be a guarantee, that the money can still be deducted from the payers bank-account.

Some businesses however require the authorization to be valid for a longer time. This is, where pre-authorizations come into play.

This feature can extend the window to a guaranteed 30 days, giving the merchant more time to deliver their service(s).

Please note, that pre-authorizations can introduce additional fees. Please contact your account manager, or , for more information.

Supported payment methods

The following payment methods do support pre-authorizations:

Technical and contractual requirements

In order to be applicable for pre-authorizations, the following requirements need to be met:

  • Pre-Authorizations are only applicable for certain Merchant Category Codes (MCC). The MCC is basically an ID, that defines the general area of business the merchant is in. For example, if they are dealing with electronics, are in the hospitality business, a flight agency etc. Please contact your account manager, , if you have questions about this detail.

  • Pre-Authorizations need to be flagged through the Saferpay API, with the initial request, during a transaction. For example the , or Initialize, or Authorize Direct, in case of . To do so, you must set the Payment.Options.PreAuth parameter to true.

What to do, if more time is needed

Pre-Authorizations only work within that 30 day time-frame. If your business-case requires more time, then you have to re-authorize the card, effectively doing a new transaction.

This has the upside, that you can go way beyond the 30 days of pre-authorizations. However the downside is, that the solvency of the payer can change during that time, leading to the card being rejected. So you need to evaluate, which flow is best for you in a given situation.

Partial approvals

A partial approval is best explained with an example:

A customer comes to your shop and orders goods worth 100 Euros.

He/she enters the card details, and Saferpay authorizes the card. During authorization, the cardholder's bank checks the solvency of the cardholder and concludes that only a maximum of 80 Euros can be authorized.

Usually, such a transaction would be declined. However, if the merchant requests a partial approval, the card can be authorized for 80 Euros.

This sort of authorization type is best suited for goods that are sold in bulk, like for example screws, certain food items, or petrol at a gas station.

Not all Issuers may support this feature. If partial approvals are not supported, either the full amount will be authorized, or the transaction will be declined.

Requirements

  • Partial approvals can only be requested with SpecVersion 1.29, or higher.

Integration

The merchant must make sure that his inventory is adjusted accordingly, since less will be payed than initially requested.

Example of Authorize Direct

{
  "RequestHeader": {
    "SpecVersion": "[CURRENT SPEC_VERSION]",
    "CustomerId": "[your customer id]",
    "RequestId": "8cf6d15a041ba515d90ee191257d9f77",
    "RetryIndicator": 0,
    "ClientInfo": {
      "ShopInfo": "My Shop",
      "OsInfo": "Windows Server 2013"
    }
  },
  "TerminalId": "[your Terminal id]",
  "Payment": {
    "Amount": {
      "Value": "10000",
      "CurrencyCode": "EUR"
    },
    "OrderId": "Order_2",
    "Description": "Test Order #2",
    "Options": {
      "AllowPartialAuthorization": true
    }
  },
  "Payer": {
    "IpAddress": "192.168.178.55",
    "LanguageCode": "en"
  },
  "PaymentMeans": {
    "Alias": {
      "Id": "77b828c0975498e986e1663489ceacdc"
    }
  }
}
{
  "ResponseHeader": {
    "SpecVersion": "[CURRENT SPEC_VERSION]",
    "RequestId": "8cf6d15a041ba515d90ee191257d9f77"
  },
  "Transaction": {
    "Type": "PAYMENT",
    "Status": "AUTHORIZED",
    "Id": "69W8jSbjbhA2vASMbxUUAl3Q4OKA",
    "Date": "2020-11-04T12:29:07.646+01:00",
    "Amount": {
      "Value": "5000",
      "CurrencyCode": "EUR"
    },
    "OrderId": "Order_2",
    "AcquirerName": "VISA Saferpay Test",
    "AcquirerReference": "05718468252",
    "SixTransactionReference": "0:0:3:69W8jSbjbhA2vASMbxUUAl3Q4OKA",
    "ApprovalCode": "715453"
  },
  "PaymentMeans": {
    "Brand": {
      "PaymentMethod": "VISA",
      "Name": "VISA"
    },
    "DisplayText": "xxxx xxxx xxxx 0013",
    "Card": {
      "MaskedNumber": "xxxxxxxxxxxx0013",
      "ExpYear": 2022,
      "ExpMonth": 2,
      "HolderName": "test",
      "CountryCode": "DE",
      "HashValue": "E1DB6CE1CC017DCB651E7256650023698E58E158"
    }
  },
  "Payer": {
    "IpAddress": "192.168.178.55"
  }
}

Example for the Transaction Interface

{
  "RequestHeader": {
    "SpecVersion": "[CURRENT SPEC_VERSION]",
    "CustomerId": "[your customer id]",
    "RequestId": "ea665434145edac8652a2aa310935f73",
    "RetryIndicator": 0
  },
  "TerminalId": "[your terminal id]",
  "Payment": {
    "Amount": {
      "Value": "10000",
      "CurrencyCode": "CHF"
    },
    "Options": {
      "AllowPartialAuthorization": true
    }
  },
  "Payer": {
    "LanguageCode": "en"
  },
  "ReturnUrls": {
    "Success": "[your shop payment success url]",
    "Fail": "[your shop payment fail url]"
  },
  "Styling": {
    "CssUrl": "[your shop css url]"
  }
}
{
  "ResponseHeader": {
    "SpecVersion": "[CURRENT SPEC_VERSION]",
    "RequestId": "47f456c9d051e58d7c046068cc0537c1"
  },
  "Transaction": {
    "Type": "PAYMENT",
    "Status": "AUTHORIZED",
    "Id": "78TrOlbjbhA2vASMbxUUAliO3gPk",
    "Date": "2022-25-07T11:43:07.646+01:00",
    "Amount": {
      "Value": "5000",
      "CurrencyCode": "EUR"
    },
    "OrderId": "Order_3",
    "AcquirerName": "VISA Saferpay Test",
    "AcquirerReference": "05718468253",
    "SixTransactionReference": "0:0:3:78TrOlbjbhA2vASMbxUUAliO3gPk",
    "ApprovalCode": "715453"
  },
  "PaymentMeans": {
    "Brand": {
      "PaymentMethod": "VISA",
      "Name": "VISA"
    },
    "DisplayText": "xxxx xxxx xxxx 0013",
    "Card": {
      "MaskedNumber": "xxxxxxxxxxxx0013",
      "ExpYear": 2022,
      "ExpMonth": 2,
      "HolderName": "test",
      "CountryCode": "DE",
      "HashValue": "E1DB6CE1CC017DCB651E7256650023698E58E158"
    }
  },
  "Payer": {
    "IpAddress": "192.168.178.55"
  }
}

Decrypted Scheme tokens

{
  "RequestHeader": {
    "SpecVersion": "[current Spec-Version]",
    "CustomerId": "[your customer id]",
    "RequestId": "[unique request id]",
    "RetryIndicator": 0
  },
  "TerminalId": "[your terminal id]",
  "Payment": {
    "Amount": {
      "Value": "100",
      "CurrencyCode": "CHF"
    }
  },
  "PaymentMeans": {
    "SchemeToken": {
      "Number": [DECRYPTED TOKEN NUMBER],
      "ExpMonth": "03",
      "ExpYear:" "2021",
      "AuthValue": "AAABBIIFmAAAAAAAAAAAAAAAAAA=",
      "TokenType": [TYPE OF TOKEN see Spec]
    }
  },
  "Payer": {
    "LanguageCode": "en"
  },
  "ReturnUrls": {
    "Success": "[your shop payment success url]",
    "Fail": "[your shop payment fail url]"
  },
  "Styling": {
    "CssUrl": "[your shop css url]"
  }
}

Dual branded cards

Many credit cards are also dual-branded, meaning, that they do have a second brand attached to their main brand, for example a Bancontact card also having Visa functionality.

Saferpay generally does support dual branded cards and is able to detect these cards.

These cards have a primary and a secondary branding, meaning, that one brand is preferred over the other. Saferpay will automatically detect these brands and attempt to perform the transaction through the primary brand. If that is not possible, Saferpay will attempt to process via the secondary brand.

If the primary brand rejects the transaction, Saferpay will not attempt to perform a transaction through the secondary brand, as this is deemed a valid rejection.

Special Cases

Though we at Worldline do offer the possibility to process credit cards, it is sometimes necessary to involve third parties in order to process credit cards in certain countries and regions. This chapter will cover the special characteristics you need to consider, if you want to use Saferpay with these processors.

Credit Cards

Chase Paymentech

Chase Paymentech is a US credit card processor with office in Dallas, Texas. Worldline offers the possibility to process credit cards over this processor, directly in the US.

Please take note to the following restrictions and characteristics.

  • OrderId: Due to technical restrictions, the OrderId will not be forwarded to Chase to be shown on your reconciliation files from chase. Saferpay will instead fill it with a unique, increasing, numeric value, to meet Chase Paymentechs requirements. Therefore, a later identification through the OrderId will not be possible.

You can do so, by first saving the card inside our and then use our to authorize the card at a later date.

Partial approvals are only available for , and .

A partial approval can only be requested when using either the , or In the request, the parameter Payment.Options.AllowPartialAuthorization must be set to true.

Please make sure that you have read the chapter, since an request is classified as a Merchant Initiated Transaction (MIT), if you intent to use this request!

If a partial approval is executed, will not be performed!

Since the Transaction Interface consists of more, than just one request, you have to first request a partial approval with :

will then return the authorized amount:

Saferpay also supports the direct insertion of decrypted Scheme-tokens, provided by any external provider (For example, Apple Pay). This way, it is possible to provide a more seamless and integrated solution. However, in this case, the integration is realized via the . The overall transaction-flow will stay the same. The only thing you must take care of is, that you provide the necessary data, within the PaymentMeans.SchemeToken container, through the .

Since the Tokens are decrypted in those cases, this integration is only allowed with a

This means, that this card can be processed as both, and .

So in case of the example above, Saferpay will first attempt to perform a transaction and if that brand is not available for processing, we will proceed with .

In order for this to work, one, or both, of these brands must be activated on your . In case of the example above, you either need or to be active.

The secondary brand will only be used, if the processing via the primary is not available (e.g. the brand not being activated on the ).

Secure Card Data storage
Recurring Payments flow
Visa/VPay
Mastercard
Maestro
Authorize Direct Request
the Transaction Interface integration
PSD2
Authorize Direct
DCC
full PCI certification.
Bancontact
Visa
Bancontact
Visa
Capture
Recurring Payments
VISA/Vpay
Mastercard
Maestro
Recurring Payments
Transaction Interface
Bancontact
Visa
our sales directly
or our sales
terminal
terminal
Transaction Initialize
Transaction Authorize
Initialization request
Transaction
Payment Page-