Online API (v1)
Delete merchant
The merchant can no longer make payments, and is no longer eligible for subscription fee.
path Parameters
merchantId required | string <uuid> |
header Parameters
x-ibm-client-id required | string Client id for authentication |
x-ibm-client-secret required | string Client secret for authentication |
CorrelationId | string CorrelationId used for logging |
Responses
Get merchant
path Parameters
merchantId required | string <uuid> |
header Parameters
x-ibm-client-id required | string Client id for authentication |
x-ibm-client-secret required | string Client secret for authentication |
CorrelationId | string CorrelationId used for logging |
Responses
Response samples
- 200
{- "merchantId": "c3073b9d-edd0-49f2-a28d-b7ded8ff9a8b",
- "externalId": "string",
- "name": "string",
- "billingCurrency": "string",
- "countryCode": "string",
- "vatNumber": "string",
- "merchantCategoryCode": 0
}
Get merchants
header Parameters
x-ibm-client-id required | string Client id for authentication |
x-ibm-client-secret required | string Client secret for authentication |
CorrelationId | string CorrelationId used for logging |
Responses
Response samples
- 200
{- "merchants": [
- {
- "merchantId": "c3073b9d-edd0-49f2-a28d-b7ded8ff9a8b",
- "externalId": "string",
- "name": "string",
- "billingCurrency": "string",
- "countryCode": "string",
- "vatNumber": "string",
- "merchantCategoryCode": 0
}
]
}
Create merchant
header Parameters
x-ibm-client-id required | string Client id for authentication |
x-ibm-client-secret required | string Client secret for authentication |
CorrelationId | string CorrelationId used for logging |
Request Body schema: application/json
billingCurrency required | string non-empty Billing currency of the merchant. Possible values are: |
countryCode required | string non-empty Merchant country code e.g. Denmark = DK. Use ISO 3166-1. |
externalId required | string non-empty The PSP's unique id of the merchant. |
merchantCategoryCode required | integer <int32> [ 1 .. 9999 ] The merchant category code (MCC) is used to classify a business by the types of goods or services it provides. More information here: MCC. |
name required | string [ 1 .. 255 ] characters The PSP's name of the merchant for billing purposes. |
vatNumber required | string non-empty The VAT number of the merchant. |
Responses
Request samples
- Payload
{- "externalId": "aarhus-trading-20018",
- "merchantCategoryCode": 1234,
- "name": "Gedekid og Smoothies",
- "billingCurrency": "DKK",
- "countryCode": "DK",
- "vatNumber": "11102248"
}
Response samples
- 200
{- "merchantId": "c3073b9d-edd0-49f2-a28d-b7ded8ff9a8b"
}
Update payment
This endpoint requires approval before it can be used. Please contact developer@vippsmobilepay.com
path Parameters
paymentId required | string <uuid> |
header Parameters
x-ibm-client-id required | string Client id for authentication |
x-ibm-client-secret required | string Client secret for authentication |
CorrelationId | string CorrelationId used for logging |
Request Body schema: application/json
reservationExpireTimestamp | string or null <date-time> The timestamp of where the reservation is known to expire. This must be patched when a successful authorization is made. Also it must be patched should the expiration be prolonged. No need to patch it if reservation is captured or cancelled. |
redirectFromMobilePayUrl | string or null The redirect url for the user when the payment is complete. Must be fully qualified url. |
Responses
Request samples
- Payload
{- "reservationExpireTimestamp": "2019-08-24T14:15:22Z",
- "redirectFromMobilePayUrl": "string"
}
Cancel payment
path Parameters
paymentId required | string <uuid> |
header Parameters
x-ibm-client-id required | string Client id for authentication |
x-ibm-client-secret required | string Client secret for authentication |
CorrelationId | string CorrelationId used for logging |
Request Body schema: application/json
amount required | integer <int64> Cancelled amount in minor unit. If the amount is lower than the originally authorized amount, it is a partial cancel. |
cancelIdentifier required | string non-empty The PSP's unique id of the cancel to ensure idempotency. |
timestamp required | string <date-time> Time of the cancel at the PSP. |
Responses
Request samples
- Payload
{- "cancelIdentifier": "string",
- "amount": 0,
- "timestamp": "2019-08-24T14:15:22Z"
}
Response samples
- 200
{- "cancelId": "43be4d23-a0d9-4b8a-ad81-d5b8587824aa"
}
Capture payment
Create a capture. Multiple can be created. Amount must given in minor units of currency.
path Parameters
paymentId required | string <uuid> |
header Parameters
x-ibm-client-id required | string Client id for authentication |
x-ibm-client-secret required | string Client secret for authentication |
CorrelationId | string CorrelationId used for logging |
Request Body schema: application/json
amount required | integer <int64> Captured amount in minor unit. If the amount is lower than the originally authorized amount, it is a partial capture. |
captureIdentifier required | string non-empty The PSP's unique id for the capture to ensure idempotency |
timestamp required | string <date-time> Time of the capture at the PSP. |
authorizationAttemptId | string or null <uuid> Id of the authorization attempt that was authorized. This will ensure that we mark the correct authorization attempt as succeeded. |
Responses
Request samples
- Payload
{- "captureIdentifier": "string",
- "amount": 0,
- "timestamp": "2019-08-24T14:15:22Z",
- "authorizationAttemptId": "52904e8c-5d19-450f-b4c0-1ba3de8b8bca"
}
Response samples
- 200
{- "captureId": "255ed88a-e063-46f6-943a-5ff3e0fe79ed"
}
Refund payment
Creates a refund. Multiple can be created. Amount must given in minor units of currency.
path Parameters
paymentId required | string <uuid> |
header Parameters
x-ibm-client-id required | string Client id for authentication |
x-ibm-client-secret required | string Client secret for authentication |
CorrelationId | string CorrelationId used for logging |
Request Body schema: application/json
amount required | integer <int64> Refunded amount in minor unit. If amount is lower than the originally authorized amount, it is a partial refund. |
refundIdentifier required | string non-empty PSP's unique id of the refund to ensure idempotency. |
timestamp required | string <date-time> Time of the refund at the PSP. |
Responses
Request samples
- Payload
{- "refundIdentifier": "string",
- "amount": 0,
- "timestamp": "2019-08-24T14:15:22Z"
}
Response samples
- 200
{- "refundId": "3324897f-393a-4bf6-b3af-0b999cbc2521"
}
Initiate payment
A payment or checkout always start by initiating the payment. All provided urls MUST be https with TLS 1.2 or better. merchantName and merchantUrl are mandatory because those are used for Dynamic Linking.
header Parameters
x-ibm-client-id required | string Client id for authentication |
x-ibm-client-secret required | string Client secret for authentication |
CorrelationId | string CorrelationId used for logging |
Request Body schema: application/json
required | Array of objects (CardType) Allowed card types for the payment, includes callback configuration per card type. |
amount required | integer <int64> Order amount in minor unit. I.e. 4,95 must be given as 495. |
currencyCode required | string non-empty Currency of the order. Must be alphabetic or numeric ISO 4217 code. Accepted codes: DKK, EUR, NOK, SEK, USD, GBP, 208, 978, 578, 752, 840, 826 |
merchantId required | string <uuid> Identifier for the Merchant. Originates from the CreateMerchant response. |
merchantLogoUrl required | string non-empty The url of the logo shown to the end-user. Must be: 250x250 pixels, png or jpg served over a secure connection, must be https, and publicly available. |
merchantName required | string non-empty The display name of the merchant shown to the end-user. Is used for 'Dynamic Linking'. Must be the same as registered with the merchants Acquirer and in schemes. |
merchantOrderId required | string non-empty Merchant's order id. |
merchantUrl required | string non-empty Url of the merchant. Max length 150 char. Is used for 'Dynamic Linking'. If the merchant doesn´t have a Url, use VAT number (international format) or use the merchantId from MobilePay, as this will also guarantee uniqueness. |
pspReferenceId required | string [ 1 .. 50 ] characters PSP's unique reference to payment. |
publicKeyId required | integer <int32> Id of the public key to be used for exchange of card data. |
redirectFromMobilePayUrl required | string non-empty Where to redirect the user when the payment is complete. Must be fully qualified URL. |
failedPaymentCallbackUrl | string or null <uri> Default: null Url to be notified when a payment ends unsuccessful. Must be a fully qualified URL. Must be secured by TLS 1.2. |
isCheckout | boolean Is the payment a Checkout payment which will require the user to pick an address. |
addressCallbackUrl | string or null <uri> Url to make callback with chosen address data for Checkout payment. Request is described here callbacks. |
deliveryAddressAllowed | boolean or null Is it possible to set the delivery address on this particular payment. |
deliveryAddressDisallowedReasonCode | integer or null <int32> Reason code to indicate the reason choosing of delivery address has been disallowed. |
deliveryLimitedTo | Array of strings or null List of countries in which chosen countries can be. Must be in ISO 3166-1 alfa-2 standard. If empty, no restrictions are imposed. |
validUntil | string or null <date-time> Indicate when the user shouldn't be able to accept the payment anymore (3DS or Checkout payments will override and extend the remaining time with 15min). |
autoCapture | boolean Set to true, if the payment will be automatically captured. |
preferVisaPartOfVisaDankort | boolean If set to true, the Visa part of the Danish co-branded Visa/Dankort will be preferred over the Dankort part. The card type given in the callback from MobilePay must still be respected. |
customerLanguageCode | string or null Override the default language code for the payment. |
minimumMobilePayUserAge | integer or null <int32> [ 0 .. 150 ] Optional. The payment will fail if the MobilePay user age is below the given minimum age. |
Responses
Request samples
- Payload
{- "merchantId": "c3073b9d-edd0-49f2-a28d-b7ded8ff9a8b",
- "merchantName": "string",
- "merchantLogoUrl": "string",
- "merchantOrderId": "string",
- "merchantUrl": "string",
- "pspReferenceId": "string",
- "amount": 0,
- "currencyCode": "string",
- "allowedCardTypes": [
- {
- "name": "string",
- "encryptedPanCallbackUrl": "string",
- "tokenCallbackUrl": "string"
}
], - "publicKeyId": 0,
- "redirectFromMobilePayUrl": "string",
- "failedPaymentCallbackUrl": null,
- "isCheckout": true,
- "deliveryAddressAllowed": true,
- "deliveryAddressDisallowedReasonCode": 0,
- "deliveryLimitedTo": [
- "string"
], - "validUntil": "2019-08-24T14:15:22Z",
- "autoCapture": true,
- "preferVisaPartOfVisaDankort": true,
- "customerLanguageCode": "string",
- "minimumMobilePayUserAge": 150
}
Response samples
- 200
{- "paymentId": "472e651e-5a1e-424d-8098-23858bf03ad7",
- "redirectToMobilePayUrl": "string",
- "redirectToMobilePayAppUrl": "string"
}
Simulate user behavior
- User enters phone number for payment.
- User selects the first eligible card for payment.
- User swipes to accept payment.
path Parameters
paymentId required | string <uuid> |
header Parameters
CorrelationId | string CorrelationId used for logging |
Request Body schema: application/json
phoneNumber required | string |
lastFourDigits | string or null Optional, if defined the user will select the first eligible card that where the last four digits match. |
Responses
Request samples
- Payload
{- "phoneNumber": "string",
- "lastFourDigits": "string"
}
Get Credentials
Get IntegratorName, ClientName and Active Status for the specified x-ibm-client-Id
header Parameters
x-ibm-client-id required | string Client id for authentication |
x-ibm-client-secret required | string Client secret for authentication |
CorrelationId | string CorrelationId used for logging |