Add payment methods
After you've created the merchant, you can start to enable that merchant for additional payment methods. As a result, you will receive a `payment_method_configuration_id` which you need to ultimately process these payments.
Before you start
Any action you want to perform for a merchant requires a merchant_id
.
If you don't have received a merchant_id
yet, please follow the steps described in the create merchant section to get one.
At this point, you also MUST have subscribed to relevant notifications.
Overview
The Enrollment__Service provides the following methods:
- EnrollRequest - add payment methods for the merchant
- UpdateRequest - change payment methods that have been enrolled
- GetRequest - returns the payment methods currently enabled for that merchant and the status
To enable a merchant for an additional payment method, you use the EnrollRequest method. We will give a detailed description in the next section.
To add an additional payment method for a specific merchant, you use the EnrollRequest message. We will give a detailed description in the next section.
Enroll Request
To enroll additional payment methods for your merchant, you use the enrollment_service. You can find the .proto file's detailed description in our API reference section.
As a result of the successful Enroll Request, you receive a payment_method_configuration_id
in the Enroll Response. You need this id to process payments.
With the Enroll Request, you send
- a
reference
- the chosen
payment_method_provider
- the
payment_method
, - the
merchant_id
and - the
data
as shown in the API reference.
The data
value is dependent on the payment method and whether or not the payout to the merchant will be processed by us (consolidated), or done directly by the payment method processor.
Please remember that only merchants, that have been created with enabled_for_consolidated_payout:true
are qualified for payment methods that request consolidated payouts.
If you want to change the enabled_for_consolidated_payout
value, you MUST send the merchant service's UpdateRequest.
Payment method and payment method provider
The EnrollRequest's payment_method_provider
and payment_method
fields contain the actual payment method you want to enable.
Payment method can be available through different providers, with or without the option to choose between consolidated and direct payouts. Please find all currently available combinations in the table below.
Payment Method | Payment Method Provider | merchant must be qualified for consolidated payout | Enroll Request's data object |
---|---|---|---|
Trustly | PMP_PPRO | ✅ | no specific data is needed |
SOFORT | PMP_PPRO | ✅ | no specific data is needed |
GIROPAY | PMP_PPRO | ✅ | no specific data is needed |
EPS | PMP_PPRO | ✅ | no specific data is needed |
iDeal | PMP_PPRO | ✅ | no specific data is needed |
BANCONTACT | PMP_PPRO | ✅ | no specific data is needed |
ALIPAY | PMP_PPRO | ✅ | no specific data is needed |
PMP_PPRO | ✅ | no specific data is needed | |
EXPRESS_BANK | PMP_EXPRESS_BANK | ❌ | expressbank.directmerchantpayout |
TWINT | PMP_TWINT | ❌ | twint.directmerchantpayout |
PAYTRAIL | PMP_PAYTRAIL | ✅ | no specific data is needed |
Data
The chosen payment_method
value of the Enroll
Request - and whether or not the payout will be consolidated by us or done directly by the payment method provider - determines the required values for the EnrollRequest's data
field.
Example: The data
field expects an object that corresponds with the payment_method
value: If payment_method:Express_Bank
and the payouts will be done directly be Express Bank (the payment method provider), the data
value MUST be the expressbank.directmerchantpayout message.
Find a complete list of data
field options in our API reference.
Payment Method | Payment Method Provider | Type | merchant must be qualified for consolidated payout | Enroll Request's data object |
---|---|---|---|---|
EXPRESS_BANK | PMP_EXPRESS_BANK | iPSP | ❌ | expressbank.directmerchantpayout |
TWINT | PMP_TWINT | iPSP | ❌ | twint.directmerchantpayout |
Enroll Response
If successful, the EnrollResponse contains the payment_method_configuration_id
. This id is necessary to process payments, as described in the next section.
The EnrollResponse also contains the data
and the status
values.
You now have received the payment_method_configuration_id
and are ready to proccess payments.
Additional actions
Once you've received the payment_method_configuration_id
you can perform aditional actions from the Enrollment Service (and other Relay services) such as:
- UpdateRequest to change the enrolled payment method for that merchant
- GetRequest to get the payment method related stored information and the status