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.