Payment methods

Overview

You put a lot of effort into making sure your customers are able to find what they need on your website. Your customers' decision to make a purchase often depends on whether they can use their preferred payment method. Straal offers a myriad of options to help you let them use the payment method of their choice.

In this section you will learn about:

  • creating and using objects representing credit and debit cards
  • working with bank accounts

Cards

Credit and debit cards are one of the most popular e-payment methods. With Straal solutions, you can quickly and securely accept payments made with cards of all major schemes and in more than 150 currencies.

You can use credit and debit cards for a variety of payments, all supported by Straal:

  • one-shot payments
  • one-click payments
  • subscriptions, charged automatically
  • POS payment in your offline shop

We accept cards from the following card schemes:

Logos of the following card schemes: MasterCard, VISA, Maestro, JCB, UnionPay, Discover, AMEX, Cartes Bancaires, Dankort (DK) and Diners Club

Supported Currencies

Straal supports over 150 different payment currencies and over 10 settlement currencies:

Currency type SWIFT code
Settlement currencies EUR, USD, GBP, PLN, CAD, CHF, HUF, SEK, NZD, NOK, DKK, HKD, AUD, JPY, HRK, TRY, CZK, RON, ZAR, SGD
Payment currencies AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BRL, BSD, BTN, BWP, BYR, BZD, CAD, CDF, CHF, CLP, CNY, COP, CRC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LTL, LVL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MUR, MVR, MWK, MXN, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLL, SOS, SRD, STD, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VEF, VND, VUV, WST, XAF, XCD, XOF, XPF, YER, ZAR, ZMW, ZWD

The specific list will depend on your setup. To talk about details, consult our Sales Team

Use case – adding a card

If you want to use a card in a one-click or a recurring transaction, you need to create a card object in Straal. It also makes it easier to use cards in later transactions, because you can use the card's ID instead of its details.

If you wish to use the Straal API to add a card, you need to send a POST request to API endpoint /customers/:customer_id/cards, where :customer_id needs to be substituted with the customer's ID (see [APIref: Create a card (https://api-reference.straal.com/#resources-cards-create-a-card)). In case of new customers, you will have to create a customer object first (see APIref: Create a customer).

Sample request

{
  "name": "John Smith",
  "number": "4111111111111111",
  "cvv": "123",
  "expiry_month": 11,
  "expiry_year": 2018,
  "origin_ipaddr": "91.17.133.219"
}

To see a sample response, see APIref: Create a card. To learn more about working with cards, see APIref: Cards.

SEPA Direct Debit Transfers

SEPA Direct Debit Transfers enjoy a particular popularity in the Eurozone, as they're used to transfer money easily between bank accounts denominated in Euro. The service is available in 34 SEPA Union countries.

Carrying out a payment is like using a credit card:

  • Transfers are performed entirely within the banking system.
  • Your customers simply enter the IBAN into the form and authorize the transaction.
Use case – adding a bank account

All the customer needs in order to initiate a SEPA Direct Debit payment is the account owner's name, their International Bank Account Number (IBAN) and Business Identifier Code (BIC, also known as a SWIFT code).

To create a SEPA payment, you first need to create a bank_account object in Straal. This way, you won't have to provide the account's full details, just its ID.

If you wish to use the Straal API, you'll need to send a POST request to API endpoint /customers/:customer_id/bank_accounts, where :customer_id needs to be substituted with your customer's ID (see APIref: Create a bank account). In case of new customers, you will have to create a customer object first (see APIref: Create a customer)

Sample request:

{
  "name": "John Smith",
  "iban": "DE89370400440532013000",
  "bic": "COBADEFFXXX",
  "origin_ipaddr": "91.17.133.219",
}

To see a sample response, see APIref: Create a bank account.

Learn how to perform a SEPA transfer: APIref: Create a transaction for a bank account.

Simple and secure, Pay-By-Link transfers are some of the most demanded payment methods in Poland. The transfers enable easy and nearly instant payments without the need to share one’s card or bank account details with third parties:

  • customers carry out payments by simply logging in through their e-banking platforms
  • transfer forms are filled out automatically
  • the transfer requires a simple authorization from the customer by SMS

Straal enables accepting Pay-By-Link transfers from customers with accounts in most of the Polish banks.

Use case – creating a pay-by-link payment

To make a pay-by-link payment you have to do the following steps:

  1. Fetch Pay-By-Link payment methods that you should show to the end user
  2. Create a customer object for the end user
  3. Send a payment request
  4. Redirect the end user to the URL that you received in response to the payment request
  5. Handle the notification you receive after the payment success/failure
1. Fetching Pay-By-Link payment methods

To fetch Pay-By-Link payment methods you have to make a GET request to /payment_methods endpoint.

It is possible to filter payment methods using query string arguments.

For technical details, see APIref: Get the list of payment methods.

2. Creating a customer

Pay-by-link payments are created for an existing customer, so if you have already created a customer, you can skip this step.

For technical details, see APIref: Creating a customer.

3. Creating a pay-by-link payment

When the end user chooses a payment method, you should send the payment method identifier along with the fields describing the pay-by-link payment flow to /customers/{customer_id}/pay_by_link_payments.

For technical details, see APIref: Creating a pay-by-link-payment.

4. Redirecting the end user

You should redirect the end user to the redirect_url obtained from the pay_by_link_payment response.

5. Receiving notification

After payment, you will receive a pay_by_link_payment_succeeded or pay_by_link_payment_failed notification. The notification data contains a transaction object that has a pay_by_link_payment object in it. You can match notification with object created in step 3. using pay_by_link_payment id field. Information from notification should be used to update payment status in your system.

Read more about Straal notifications: Notifications.

For technical details, see APIref: pay_by_link_payment_succeeded notification and APIref: pay_by_link_payment_failed notification.


What you can do next:


Remember you can consult our comprehensive API Reference at any moment.

For help with payments vocabulary, head to our glossary.

You can reach us by e-mail. IT Support: [email protected], Support Team: [email protected].