Payment Methods

Credit Cards

Providers:

MiPay

Request example

In case of MiPay credit card integration. Fraud check is mandatory, so payer data is required.

                                                            
{
   "id":"7bb6f1f3-d280-4b0c-a74f-90471ea69426", // Auto-generated UUID
   "paymentMethod":"creditcard",
   "returnUrl": "https://example.com", // URL to return after payment completion.
   "webhookUrl": "https://example.com", // URL to receive webhook notification.
   "transaction":{
      "reference": "test-1111", // Max 20 characters
      "currency": "EUR", // ISO4217 format
      "amount": 2000, // The amount is in cents, 2000 = 20 EUR. Has to be sum of amounts * quantity in lines.
      "description": "test-1444",
      "lines":[
         {
            "name": "Some Voucher - 20 EUR", // Max 100 characters. Name of product.
            "category": "PREPAID-VOUCHER", // Max 100 characters.
            "brand": "alphacomm", // Max 100 characters.
            "quantity": 1, // Number of items
            "amount": 2000 // The amount is in cents, 2000 = 20 EUR
         }
      ]
   },
   "payer": {
        "id": "1337", // Unique numeric value specific per payer
        "email": "john@alphacomm.nl", // Max 64 characters.
        "deviceId": "a80d683678514df2b3c952f48b095266", // Max 50 characters.
        "billing": {
            "firstName": "Jhon", // Max 128 characters. To test decline of Fruad check flow set value to DECLINE
            "lastName": "Doe", // Max 128 characters
            "street": "Scheepmakerspassage 183", // Max 128 characters. Billing street with number.
            "city": "Rotterdam",
            "zip": "3011VH", // Max 50 characters. Customer postal code.
            "phone": "+31612345678", // Phone number with Country code.
            "email": "john@alphacomm.nl",  // Max 64 characters.
            "country": "NL" // Country code ISO3166 format
        },
        "shipping": {
            "firstName": "John", // Max 128 characters.
            "lastName": "Doe", // Max 128 characters.
            "street": "Scheepmakerspassage 183", // Max 128 characters. Shipping street with number.
            "city": "Rotterdam",
            "zip": "3011VH", // Max 50 characters. Customer postal code.
            "phone": "+31612345678", // Phone number with Country code.
            "email": "john@alphacomm.nl",  // Max 64 characters.
            "country": "NL" // Country code ISO 3166 format
        },
        "ipAddress": "127.0.0.1", // Support only ipv4
        "language": "nl", // Language code ISO 639-1 format
        "status": "registered", // Can be "guest", "registered", "registered-unconfirmed"
        "verificationStatus": "phone", // Can be "identification", "phone", "trusted", "otherwise"
        "dateRegistration": "2016-01-01T13:56:48+0100", // Date format ISO 8601
        "dateLastUpdated": "2016-01-01T13:56:48+0100", // Date format ISO 8601
        "dateFirstPurchase": "2016-01-01T13:56:48+0100", // Date format ISO 8601
        "channel": "web"  // Can be "web" or "app"
   },
   "provider":"miPay"
}
                                                        

MiPay Checkout

Sandbox testing

MiPay sandbox payment will only support specific credit card numbers for testing successful payments flow use Card No
4444 4444 4444 4448
expire date in future, rest of fields can be anything.

Info about available card codes with details

Test Cards

Purpose

Card Number

3DS1 Enrolled

3DS2 Enrolled

Method URL

tranStatus

tranStatusReason

ECI

Authentication Token

Mastercard

3DS2 - Challenge (Method URL provided)

5123450000000008
2223000000000007

Yes

Yes

Yes

C

-

-

-

3DS2 - Frictionless (Method URL provided)

5123456789012346

Yes

Yes

Yes

Y

-

02

mHyn+7YFi1EUAREAAAAvNUe6Hv8=

3DS2 - Frictionless (No Method URL)

5555555555000018*

Yes

Yes

No

Y

-

02

mHyn+7YFi1EUAREAAAAvNUe6Hv8=

3DS2 - Authentication Attempted

5500005555555559

Yes

Yes

No

A

-

01

nHyn+7YFi1EUAREAAAAvNUe6Hv8=

3DS2 - Authentication Rejected

5506900140100503

No

Yes

No

R

04

-

-

3DS1 - Not enrolled for 3DS2 resulting in fallback to 3DS1

5506900140100305

Yes

No

No

-

-

-

-

3DS2 - Error during Initiate Authentication operation resulting in Generic Error Response

5210760000000004

Yes

Exception

-

-

-

-

-

3DS2 - Error during Authenticate Payer operation resulting in Generic Error Response

5455031257390496

Yes

Yes

No

Exception

-

-

-

5455031252665454

Yes

Yes

No

Exception

-

-

-

3DS1 & 3DS2 - Not Enrolled Response

5111111111111118

No

No

-

-

-

-

-

2223000000000023

No

No

-

-

-

-

-

3DS2 - Authentication Unavailable Error during Authenticate Payer operation
resulting in a response of authenticationStatus = AUTHENTICATION_UNAVAILABLE

5123459999998221

Yes

Yes

No

Recoverable Exception

-

-

-

Visa

3DS2 - Challenge (No Method URL)

4440000009900010 

Yes

Yes

No

C

-

-

-

3DS2 - Frictionless (Method URL provided)

4440000042200014

Yes

Yes

Yes

Yes

-

05

mHyn+7YFi1EUAREAAAAvNUe6Hv8=

3DS2 - Authentication Attempted

4440000042200022 

No

Yes

No

A

-

06

nHyn+7YFi1EUAREAAAAvNUe6Hv8=

American Express

3DS2 - Challenge (No Method URL)

340000099900051

No

Yes

No

C

-

-

-

3DS2 - Frictionless (Method URL provided)

340353278080900

Yes

Yes

Yes

Yes

-

05

mHyn+7YFi1EUAREAAAAvNUe6Hv8=

Maestro

PSD2 Exemptions and Whitelisted Merchants

5000000000000000005

Yes

Yes

No

No

81

06

kNyn+7YFi1EUAREAAAAvNUe6Hv8=

JCB

3DS2 - Challenge (Method URL provided)

3528249999991755

Yes

Yes

Yes

C

-

-

-

3DS2 - Challenge (No Method URL)

3528249999991748

Yes

Yes

No

C

-

-

mHyn+7YFi1EUAREAAAAvNUe6Hv8=

3DS2 - Frictionless (Method URL provided)

3528249999991821

Yes

Yes

Yes

Yes

-

05

mHyn+7YFi1EUAREAAAAvNUe6Hv8=

3DS2 - Authentication Rejected

3528249999981236

Yes

Yes

Yes

R

-

-

-

3DS1 - Not enrolled for 3DS2 resulting in fallback to 3DS1

3528249999991789

Yes

No

No

-

-

-

-

3DS1 & 3DS2 - Not Enrolled Response

3528249999991953

-

-

-

-

-

-

-

Diners

3DS2 - Challenge (Method URL provided)

3600000000000115

Yes

Yes

Yes

C

-

-

-

3DS2 - Challenge (No Method URL)

3600000000000123

Yes

Yes

No

C

-

-

mHyn+7YFi1EUAREAAAAvNUe6Hv8=

3DS2 - Frictionless (Method URL provided)

3600000000000131

Yes

Yes

Yes

Yes

-

05

mHyn+7YFi1EUAREAAAAvNUe6Hv8=

3DS2 - Authentication Rejected

3600000000000172

Yes

Yes

Yes

R

-

-

-

3DS1 - Not enrolled for 3DS2 resulting in fallback to 3DS1

3600000000000180

Yes

No

No

-

-

-

-

3DS1 & 3DS2 - Not Enrolled Response

3600000000000222

-

-

-

-

-

-

-

Discover

3DS2 - Challenge (Method URL provided)

6445644564456445

Yes

Yes

Yes

C

-

-

-

3DS2 - Challenge (No Method URL)

6445644564456460

Yes

Yes

No

C

-

-

mHyn+7YFi1EUAREAAAAvNUe6Hv8=

3DS2 - Frictionless (Method URL provided)

6445644564456411

Yes

Yes

Yes

Yes

-

05

mHyn+7YFi1EUAREAAAAvNUe6Hv8=

3DS2 - Authentication Rejected

6445644564456155

Yes

Yes

Yes

R

-

-

-

3DS1 - Not enrolled for 3DS2 resulting in fallback to 3DS1

6445644564456163

Yes

No

No

-

-

-

-

3DS1 & 3DS2 - Not Enrolled Response

6445644564456239

-

-

-

-

-

-

-


In the case of a "C" transStatus, the following outcomes are possible via drop-down selection in the 3DS Emulator:

Description transStatus ChallengeCancel Eci
Failed authentication N - 07 / 00
Cancelled authentication N 01 07 / 00
Unable to authenticate U - 07 / 00
Authentication rejected R - 07 / 00
Successful authentication Y - 05 / 02

Anti-fraud Check

Fraud check (Cynic) is supported for this Provider.

It is required for payer data to be sent along with request. Example below.


                                                            
{
   "id": "7bb6f1f3-d280-4b0c-a74f-90471ea69426", // Auto-generated UUID
   "paymentMethod": "creditcard",
   "returnUrl": "https://example.com", // URL to return after payment completion.
   "webhookUrl": "https://example.com", // URL to receive webhook notification.
   "transaction":{
      "reference": "test-1111", // Max 20 characters
      "currency": "EUR", // ISO4217 format
      "amount": 2000, // The amount is in cents, 2000 = 20 EUR. Has to be sum of amounts * quantity in lines.
      "description": "test-1444",
      "lines":[
         {
            "name": "Some Voucher - 20 EUR", // Max 100 characters. Name of product.
            "category": "PREPAID-VOUCHER", // Max 100 characters.
            "brand": "alphacomm", // Max 100 characters.
            "quantity": 1, // Number of items
            "amount": 2000 // The amount is in cents, 2000 = 20 EUR
         }
      ]
   },
   "payer": {
        "id": "1337", // Unique numeric value specific per payer
        "email": "john@alphacomm.nl", // Max 64 characters.
        "deviceId": "a80d683678514df2b3c952f48b095266", // Max 50 characters.
        "billing": {
            "firstName": "Jhon", // Max 128 characters. To test decline of Fruad check flow set value to DECLINE
            "lastName": "Doe", // Max 128 characters
            "street": "Scheepmakerspassage 183", // Max 30 characters
            "city": "Rotterdam",
            "zip": "3011VH", // Max 50 characters. Customer postal code.
            "phone": "+31612345678", // Phone number with Country code.
            "email": "john@alphacomm.nl",  // Max 64 characters.
            "country": "NL" // Country code ISO3166 format
        },
        "shipping": {
            "firstName": "John", // Max 128 characters.
            "lastName": "Doe", // Max 128 characters.
            "street": "Scheepmakerspassage 183", // Max 30 characters
            "city": "Rotterdam",
            "zip": "3011VH", // Max 50 characters. Customer postal code.
            "phone": "+31612345678", // Phone number with Country code.
            "email": "john@alphacomm.nl",  // Max 64 characters.
            "country": "NL" // Country code ISO 3166 format
        },
        "ipAddress": "127.0.0.1", // Support only ipv4
        "language": "nl", // Language code ISO 639-1 format
        "status": "registered", // Can be "guest", "registered", "registered-unconfirmed"
        "verificationStatus": "phone", // Can be "identification", "phone", "trusted", "otherwise"
        "dateRegistration": "2016-01-01T13:56:48+0100", // Date format ISO 8601
        "dateLastUpdated": "2016-01-01T13:56:48+0100", // Date format ISO 8601
        "dateFirstPurchase": "2016-01-01T13:56:48+0100", // Date format ISO 8601
        "channel": "web"  // Can be "web" or "app"
   },
    "provider":"miPay",
 }
}
                                                            
                                                        

Merchant Configuration

  • clientId - ClientID from MiPay (Dev providing, for additional information contact dev team)
  • clientSecret - clientSecret from MiPay (Dev providing, for additional information contact dev team)