Overview

Payments initiation using Open Banking Protocol

Payment initiation is a type of payment method facilitated by open banking. Put simply, it involves customers allowing third-parties to connect to their banks and authorize payments directly from their bank account

🚧

In order to get started with payments, you first need to make sure the customer, with the same userId has an ACTIVE connection. See Create Connection

The payment initiation starts with creating a payment for the user using the Create Pay request.

Request Parameters

Payment Products

For payment product, only the payments is supported at this moment.

Payment Services

For payment service:

Payment serviceDescription
masavThe default payment service, all transfers under 1M Shekels. Please keep in mind that some banks use masav as their fast payment method.
zahavZahav transfer service, for fast payments and payments above 1M shekels. Please keep in mind the fees using zahav payment service.
fpFaster Payment. Use this service when transferring money in the same bank (same providerId), and when wanting to transfer using the Faster Payment system.

PSU ID Types

Each provider has different PSU ID types. The PSU ID type is the channel where the PSU (Payment Service User) is going to log in from. In some cases it's the differentiation between business or personal accounts and in other cases it's sub-banks under a bank group.

ProviderIdPsu id typesDescription
leumileumi
pepperpepper
discountRetail, SMERetail for personal accounts, SME for business accounts
mercantileRetail, SMERetail for personal accounts, SME for business accounts
hapoalimprivateBankCustomers, businessBankCustomersprivateBankCustomers for personal accounts, businessBankCustomers for business accounts
mizrahiLeave empty
beinleumiFIBI-BNL, FIBI-OTZAR, FIBI-UBANK, FIBI-PAGI, MASSADFIBI-BNL for Beinleumi bank, FIBI-OTZAR for Otzar Hahayal bank, MASSAD for massad bank
yahavLeave empty

Account Types

In the paymentInformation object you need to specify the debtor and creditor accounts type and number.

Account TypeDescriptionAccount Number Example
bbanLocal bank account number in the following format - XX-XXX-XXXXX
1 - Bank Identifier - 2 digits
2 - Branch Number - 3 digits
3 - Bank Account Number - Dynamic
10-944-50151141
ibanInternational bank account number.
1 – Country Code – 2 letters. The first two letters represent the country where your bank is located.
2 – Check Digits – 2 digits. The next two digits are check digits.
3 – Bank Code – 4 digits.
4 – Bank Branch – 4 digits.
5 – National Code – 2 digits.
6 – Bank Account Number – 10 digits.
IL730100040000000552711

Supported Payment Services and Account Types

The payment service and account types are different on every provider.
The following table maps the provider to the supported payment service and account types

🚧

Please notice that fp payment service must be used when doing payment initiation with the same provider as debtor and creditor

Provider IdPayment ServiceAccount TypesNotes
leumimasavbbanmasav is used in Leumi to conduct Faster Payment too.
peppermasavbbanmasav is used in Pepper to conduct Faster Payment too.
discountmasav + fpiban
mercantilemasav + fpiban
hapoalimmasavbban
mizrahimasav + fpiban
beinleumimasaviban
yahavmasaviban

Redirect url

When creating a new payment you have an option to add a redirect link. This will be the link that the user will be redirected to when they finish the payment journey. To this link we always add paymentId, userId and paymentStatus as query params.
Redirect url for example(after adding to it the query params): https://www.redirect.co.il?userId=user123&paymentId=1Hi83jf8cni8i&paymentStatus=ACTC

If you have always the same link that you want users to be redirected to you can define it in the organization settings under "Payment redirect Url". Here you can also choose whether you want the user to be automatically redirected when the journey is finished or if you want him to see the "Payment success" screen and only when pressing the redirect button the user will be redirected.

Response

Authorization URL

In the response you will get a url in the scaOAuth parameter. You will need to refer the customer to this url in order for him to log in to his bank account and authorize the payment.

Payment Statuses

The payment status indicates the payment transfers status.

The list of available payment statuses.

Payment StatusDescriptionPayment Service
ACCCSettlement on the creditor's account has been completed.zahav
ACSCSettlement on the debtor’s account has been completed. Usage: this can be used by the first agent to report to the debtor that the transaction has been completed. Warning: this status is provided for transaction status reasons, not for financial information. It can only be used after bilateral agreementfp, masav
ACSPAll preceding checks such as technical validation and customer profile were successful and therefore the payment initiation has been accepted for execution.fp, masav
ACTCAuthentication and syntactical and semantical validation are successfulmasav
ACWCInstruction is accepted but a change will be made, such as date or remittance not sent.masav
RCVDPayment initiation has been received by the receiving agent.all
RJCTPayment initiation or individual transaction included in the payment initiation has been rejected.all
CANCPayment initiation has been cancelled before executionall
ACFCPre-ceeding check of technical validation and customer profile was successful and an automatic funds check was positive.masav
PATCThe payment initiation needs multiple authentications, where some but not yet all have been performed. Syntactical and semantical validations are successful.all
PARTA number of transactions have been accepted, whereas another number of transactions have not yet achieved 'accepted' status.all
PENDINGWhen the payment status is still RCVD after the payment has been finalized, the status will be pending. This might happen if the payment needs to be authorized by a banker or in need for spacial authorzation.all

Get Live Payment Status

In order to get the live payment status, you need to make a request to Get Payment Status using the paymentId given in the response.