Interactive Profiles
Interactive profiles offer the customer the possibility to use the stored payment data for further payments. Upon each use of a profile the customer is prompted to enter additional data if necessary. For credit card transactions the CVC2 (CVV) will be required to complete the transaction. Also, if the credit card is registered for 3-DS, the customer is redirected to the 3-DS website for authentication.
The merchant's account needs to be configured for interactive profile usage.
The interactive usage of profiles allows to store more than one payment detail (or profile) per customer ID. Therefore it is necessary to access profiles by the customerID
and the profileID
. The profileID
is set by the customer and only unique per customerID
.
Possible payment types
Currently allowed payment systems (pType
) for interactive payment profiles are credit cards (CC
), direct debit (ELV
) and paybox (PB
).
Maximum number of profiles
The
customerID
can contain a maximum of 20 payment profiles.
If the maximum number of profiles have been reached and another profile creation is attempted, the returnCode
PROFILE_COUNT_EXCEEDED
is returned.
Available operations
General operations to implement interactive profile payments:
CreateProfile
ListProfiles
DeleteProfile
Depending on the used integration, the following additional operations are needed:
- Redirect Integration:
SelectPayment
- Backend2Backend Integration:
AcceptPayment
Integration steps
Only the Redirect Integration is discussed further. Please contact the mPAY24 Support for more information about the profile usage with Backend2Backend Integration.
Enable profile usage
To enable profile usage for customers, the merchant has to provide the unique customer ID within the SelectPayment
request. Then the customer can store his payment details during the payment. To store a profile the customer enters a profile name (which must be unique per customer) and his payment details. The profile is only created if a successful transaction could be made with these details. E.g. if the card is expired, no profile is stored.
The following example shows the use of payment profiles with SelectPayment
. The customer with ID customer0012
can use all stored payment profiles or even create a new profile during the payment process.
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:etp="https://www.mpay24.com/soap/etp/1.5/ETP.wsdl">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<etp:SelectPayment>
<merchantID>90000</merchantID>
<mdxi>
<Order>
<Tid>825381</Tid>
<Price>1.00</Price>
<Customer Id="customer0012"/>
</Order>
</mdxi>
</etp:SelectPayment>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Upon initiating a new payment with the customerID
, the customer can choose to use the saved payment data (interactive profile usage) or carry out the transaction without using a profile.
The customer can not be forced to save a profile.
Create or modify profiles (without validation)
With the CreateProfile
operation an existing payment profile can be updated or a new one created.
- To create a new profile only the customer ID should be provided.
- To update an existing profile the customer ID and the profile name should be provided as
ProfileID
.
If a ProfileID
is provided to update a existing profile, yet the ProfileID
could not be found, a new profile is created.
It is not recommended to create profiles with
CreateProfile
since no validation of the payment details is performed. E.g. the card could be expired.
In the following example the profile with name Visa private
of the customer customer0012
should be modified.
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:etp="https://www.mpay24.com/soap/etp/1.5/ETP.wsdl">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<etp:CreateProfile>
<merchantID>90000</merchantID>
<mdxi>
<Profile>
<CustomerID ProfileID="Visa private">customer0012</CustomerID>
<URL>
<Success>http://www.hotelmuster.at/created.php</Success>
<Cancel>http://www.hotelmuster.at/canceled.php</Cancel>
</URL>
</Profile>
</mdxi>
</etp:CreateProfile>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
The result of the CreateProfile
operation (whether a profile is created/modified or not) is not communicated as notification and therefore the only possibility for the merchant to be informed about a possible change is to use the URLs defined in the request.
List profiles of a customer
With the ListProfiles
all customers and profiles of a merchant can be listed. It can be used to create a list of profiles stored by a specific customer.
The following request returns all payment profiles stored for the customer with ID customer0012
.
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:etp="https://www.mpay24.com/soap/etp/1.5/ETP.wsdl">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<etp:ListProfiles>
<merchantID>90000</merchantID>
<customerID>customer0012</customerID>
</etp:ListProfiles>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Delete profiles
The DeleteProfile
operation can delete either all or a specific payment profiles of a customer.
- If only a
customerID
is provided, all payment profiles are deleted. - If a
profileID
is provided, only this payment profile is deleted.
In the following example the profile with name Visa private
of the customer customer0012
is deleted.
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:etp="https://www.mpay24.com/soap/etp/1.5/ETP.wsdl">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<etp:DeleteProfile>
<merchantID>90000</merchantID>
<customerID>customer0012</customerID>
<profileID>Visa private</profileID>
</etp:DeleteProfile>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Contact the mPAY24 Support for further information regarding using interactive profiles for recurrent payments.
Updated less than a minute ago