--- swagger: "2.0" info: x-ibm-name: cardpassthrough-for-product title: Cardpassthrough For Product version: 1.1.8 contact: name: "" description: "" schemes: - https x-ibm-configuration: enforced: true testable: true phase: realized consumes: - application/json produces: - application/json securityDefinitions: ClientSecret: type: apiKey description: "" in: header name: X-IBM-Client-Secret ClientId: type: apiKey description: "" in: header name: X-IBM-Client-Id security: - ClientId: [] ClientSecret: [] paths: /api/v1/merchants: get: tags: - Merchants summary: Get all merchants produces: - text/plain - application/json - text/json parameters: - in: header name: CorrelationId description: CorrelationId used for logging type: string - in: header name: x-ibm-client-id description: Client id for authentication required: true type: string responses: 200: description: Success schema: $ref: '#/definitions/MerchantListResponse' 409: description: Domain error response post: tags: - Merchants summary: Create a new merchant consumes: - application/json-patch+json - application/json - text/json - application/*+json produces: - text/plain - application/json - text/json parameters: - in: header name: CorrelationId description: CorrelationId used for logging type: string - in: header name: x-ibm-client-id description: Client id for authentication required: true type: string - in: body name: body schema: $ref: '#/definitions/CreateMerchantRequest' responses: 200: description: Success schema: $ref: '#/definitions/MerchantCreateResponse' 409: description: Domain error response /api/v1/merchants/{merchantId}: get: tags: - Merchants summary: Get a given merchant by id produces: - text/plain - application/json - text/json parameters: - in: path name: merchantId required: true type: string format: uuid - in: header name: CorrelationId description: CorrelationId used for logging type: string - in: header name: x-ibm-client-id description: Client id for authentication required: true type: string responses: 200: description: Success schema: $ref: '#/definitions/MerchantDetailsResponse' 409: description: Domain error response patch: tags: - Merchants summary: Update properties on a given merchant. Only provided values will be updated. consumes: - application/json-patch+json - application/json - text/json - application/*+json parameters: - in: path name: merchantId required: true type: string format: uuid - in: header name: CorrelationId description: CorrelationId used for logging type: string - in: header name: x-ibm-client-id description: Client id for authentication required: true type: string - in: body name: body schema: $ref: '#/definitions/MerchantUpdateRequest' responses: 204: description: Success 409: description: Domain error response delete: tags: - Merchants summary: The merchant can no longer make payments, and is no longer eligible for subscription fee. parameters: - in: path name: merchantId required: true type: string format: uuid - in: header name: CorrelationId description: CorrelationId used for logging type: string - in: header name: x-ibm-client-id description: Client id for authentication required: true type: string responses: 204: description: Success 409: description: Domain error response /api/v3/payments: post: tags: - Product Payments summary: 'InitiatePayment: 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.' consumes: - application/json-patch+json - application/json - text/json - application/*+json produces: - text/plain - application/json - text/json parameters: - in: header name: CorrelationId description: CorrelationId used for logging type: string - in: header name: x-ibm-client-id description: Client id for authentication required: true type: string - in: body name: body description: "" schema: $ref: '#/definitions/InitiatePaymentV3Request' responses: 200: description: Success schema: $ref: '#/definitions/InitiatePaymentResponse' 409: description: Domain error response /api/v3/payments/{paymentId}: get: tags: - Product Payments summary: Get Payment Details produces: - text/plain - application/json - text/json parameters: - in: path name: paymentId required: true type: string format: uuid - in: header name: CorrelationId description: CorrelationId used for logging type: string - in: header name: x-ibm-client-id description: Client id for authentication required: true type: string responses: 200: description: Success schema: $ref: '#/definitions/PaymentDetailsV3Response' 404: description: Not Found schema: $ref: '#/definitions/ProblemDetails' 409: description: Domain error response /api/v2/payments/{paymentId}: get: tags: - Product Payments summary: "DEPRICATED, use v3 instead\r\n
\r\n ReadPayment: Read the payment with a specific paymentId." produces: - text/plain - application/json - text/json parameters: - in: path name: paymentId description: "" required: true type: string format: uuid - in: header name: CorrelationId description: CorrelationId used for logging type: string - in: header name: x-ibm-client-id description: Client id for authentication required: true type: string responses: 200: description: Success schema: $ref: '#/definitions/PaymentDetailsV2Response' 404: description: Not Found schema: $ref: '#/definitions/ProblemDetails' 409: description: Domain error response /api/v1/payments: post: tags: - Product Payments summary: "Deprecated, use v3 instead\r\n
\r\n InitiatePayment: A payment or checkout should always start by initiating the payment. All provided urls MUST be https." consumes: - application/json-patch+json - application/json - text/json - application/*+json produces: - text/plain - application/json - text/json parameters: - in: header name: CorrelationId description: CorrelationId used for logging type: string - in: header name: x-ibm-client-id description: Client id for authentication required: true type: string - in: body name: body description: "" schema: $ref: '#/definitions/InitiatePaymentV1Request' responses: 200: description: Success schema: $ref: '#/definitions/InitiatePaymentResponse' 409: description: Domain error response /api/v1/payments/{paymentId}: get: tags: - Product Payments summary: 'Deprecated: Please use /api/v3 instead.
CHANGE: OrderId was RENAMED to MerchantOrderId.
Amount is now returned in minor units.
ReadPayment: Read the payment with a specific paymentId.' produces: - text/plain - application/json - text/json parameters: - in: path name: paymentId required: true type: string format: uuid - in: header name: CorrelationId description: CorrelationId used for logging type: string - in: header name: x-ibm-client-id description: Client id for authentication required: true type: string responses: 200: description: Success schema: $ref: '#/definitions/PaymentDetailsV1Response' 404: description: Not Found schema: $ref: '#/definitions/ProblemDetails' 409: description: Domain error response deprecated: true patch: tags: - Product Payments summary: 'UpdatePayment: Update ReservationExpiryTimestamp, RedirectFromMobilePayUrl or both.' consumes: - application/json-patch+json - application/json - text/json - application/*+json parameters: - in: path name: paymentId required: true type: string format: uuid - in: header name: CorrelationId description: CorrelationId used for logging type: string - in: header name: x-ibm-client-id description: Client id for authentication required: true type: string - in: body name: body schema: $ref: '#/definitions/UpdatePaymentRequest' responses: 204: description: Success 409: description: Domain error response /api/v1/payments/{paymentId}/captures: post: tags: - Product Payments summary: 'CreateCapture: Creates a capture to be shown to the end-user. Multiple can be created. Amount must given in minor units of currency.' consumes: - application/json-patch+json - application/json - text/json - application/*+json produces: - text/plain - application/json - text/json parameters: - in: path name: paymentId description: Id of the payment that has been captured. required: true type: string format: uuid - in: header name: CorrelationId description: CorrelationId used for logging type: string - in: header name: x-ibm-client-id description: Client id for authentication required: true type: string - in: body name: body description: captureIdentifier is the PSPs own identifier for the capture event.
Amount must given in minor units of currency. An amount smaller than the amount Authorized makes it a partial capture.
Timestamp tell when the capture event took place." schema: $ref: '#/definitions/CreateCaptureRequest' responses: 200: description: Success schema: $ref: '#/definitions/CreateCaptureResponse' 409: description: Domain error response /api/v1/payments/{paymentId}/refunds: post: tags: - Product Payments summary: Creates a refund to be shown to the end-user. Multiple can be created. Amount must given in minor units of currency. consumes: - application/json-patch+json - application/json - text/json - application/*+json produces: - text/plain - application/json - text/json parameters: - in: path name: paymentId description: Id of the payment that has been refunded. required: true type: string format: uuid - in: header name: CorrelationId description: CorrelationId used for logging type: string - in: header name: x-ibm-client-id description: Client id for authentication required: true type: string - in: body name: body description: refundIdentifier is the PSPs own identifier for the refund event.
Amount must given in minor units of currency. An amount smaller than the amount Authorized makes it a partial Refund.
Timestamp tell when the Refund event took place." schema: $ref: '#/definitions/CreateRefundRequest' responses: 200: description: Success schema: $ref: '#/definitions/CreateRefundResponse' 409: description: Domain error response /api/v1/payments/{paymentId}/cancels: post: tags: - Product Payments summary: Creates a cancel to be shown to the end-user. consumes: - application/json-patch+json - application/json - text/json - application/*+json produces: - text/plain - application/json - text/json parameters: - in: path name: paymentId description: Id of the payment that has been cancelled. Originates from InitiatePayment response. required: true type: string format: uuid - in: header name: CorrelationId description: CorrelationId used for logging type: string - in: header name: x-ibm-client-id description: Client id for authentication required: true type: string - in: body name: body description: '"cancelIdentifier is the PSPs own identifier for the cancel event.
Amount must given in minor units of currency. An amount smaller than the amount Authorized makes it a partial Cancel.
Timestamp tell when the Cancel event took place."' schema: $ref: '#/definitions/CreateCancelRequest' responses: 200: description: Success schema: $ref: '#/definitions/CreateCancelResponse' 409: description: Domain error response /api/v1/payments/{paymentId}/authorizationattempts/{authorizationAttemptId}: patch: tags: - Product Payments summary: UpdateAuthorizationAttempt. Indicates that a successful authorization has been made. The user will be shown a confirm message and redirected to RedirectFromMobilePayUrl consumes: - application/json-patch+json - application/json - text/json - application/*+json parameters: - in: path name: paymentId description: Id of the payment that has been authorized. Originates from InitiatePayment response required: true type: string format: uuid - in: path name: authorizationAttemptId description: Id of authorization attempt from the particular CardDataCallback request which CardData was used for the successful authorization required: true type: string format: uuid - in: header name: CorrelationId description: CorrelationId used for logging type: string - in: header name: x-ibm-client-id description: Client id for authentication required: true type: string - in: body name: body description: "" schema: $ref: '#/definitions/UpdateAuthorizationAttemptRequest' responses: 204: description: Success 409: description: Domain error response /api/v1/payments/{paymentId}/invalidate: put: tags: - Product Payments summary: Invalidate the payment if a successful authorization hasn't been made. Invalidation means that the user cannot accept or create a request on this payment. parameters: - in: path name: paymentId description: Id of the payment that should be invalidated. Originates from InitiatePayment response. required: true type: string format: uuid - in: header name: CorrelationId description: CorrelationId used for logging type: string - in: header name: x-ibm-client-id description: Client id for authentication required: true type: string responses: 200: description: Success 409: description: Domain error response definitions: CardType: required: - encryptedPanCallbackUrl - name type: object properties: name: description: 'Allowed card type for the payment. These can be used:
MC-DEBIT: MasterCard Debit
MC-CREDIT: MasterCard Credit
MTRO-DEBIT: Maestro Debit
ELEC-DEBIT: VISA Electron Debit
VISA-DEBIT: VISA Debit.
VISA-CREDIT: VISA Credit
DANKORT: Dankort' type: string encryptedPanCallbackUrl: description: 'Url to make callback with encrypted PAN. Must be valid fully qualified HTTPS URL. Request is described here: ''https://github.com/MobilePayDev/MobilePay-Online#callbacks''.' type: string tokenCallbackUrl: description: 'Url to make callback with Token. Must be valid fully qualified HTTPS URL. Request is described here: ''https://github.com/MobilePayDev/MobilePay-Online#callbacks''.' type: string CreateCancelRequest: required: - amount - cancelIdentifier - timestamp type: object properties: cancelIdentifier: description: PSP's unique identifier for the cancel to ensure idempotency. type: string amount: format: int64 description: Cancelled amount in minor unit. If amount is lower than the originally authorized amount, it is a partial Cancel. type: integer timestamp: format: date-time description: Timestamp for the cancel event in the PSP type: string CreateCancelResponse: type: object properties: cancelId: format: uuid description: MobilePay CancelId of the cancel that has been created type: string readOnly: true CreateCaptureRequest: required: - amount - captureIdentifier - timestamp type: object properties: captureIdentifier: description: PSP's unique identifier for the capture to ensure idempotency type: string amount: format: int64 description: Captured amount in minor unit. If amount is lower than the originally authorized amount, it is a partial Capture. type: integer timestamp: format: date-time description: Timestamp for capture as know by the PSP. type: string authorizationAttemptId: format: uuid description: "Id of the AuthorizationAttempt that was authorized. This will ensure that we mark the correct authorization attempt as\r\nsucceeded, if we haven't received the PATCH authorization attempt request." type: string CreateCaptureResponse: type: object properties: captureId: format: uuid description: MobilePay CaptureId of the capture that has been created type: string readOnly: true CreateMerchantRequest: required: - billingCurrency - countryCode - externalId - name type: object properties: externalId: description: The PSPs own unique identifier for the merchant. If you are migrating from the previous MobilePay Online API, you must give the same value here as you gave in ShopId on MPO-InitPayment2 service type: string merchantCategoryCode: format: int32 description: To classify a business by the types of goods or services it provides. More information here 'https://en.wikipedia.org/wiki/Merchant_category_code'. maximum: 9999 minimum: 1 type: integer name: description: The PSP's name of the merchant for billing purposes. type: string billingCurrency: description: Billing currency of the merchant. Possible values are:
DKK
EUR
SEK
NOK type: string countryCode: description: Merchant country code e.g. Denmark = DK. Use ISO-3166 ('https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2') or special value APAC. type: string vatNumber: description: VAT number of the merchant. type: string CreateRefundRequest: required: - amount - refundIdentifier - timestamp type: object properties: refundIdentifier: description: PSP's unique identifier for the refund to ensure idempotency. type: string amount: format: int64 description: Refunded amount in minor unit. If amount is lower than the originally authorized amount, it is a partial Refund. type: integer timestamp: format: date-time description: Timestamp for refund as known by the PSP. type: string CreateRefundResponse: type: object properties: refundId: format: uuid description: MobilePay RefundId of the refund that has been created type: string readOnly: true InitiatePaymentResponse: type: object properties: paymentId: format: uuid type: string readOnly: true redirectToMobilePayUrl: description: Client side redirect for the user to enter MobilePay. type: string readOnly: true InitiatePaymentV1Request: required: - allowedCardTypes - amount - cardDataCallbackUrl - currencyCode - merchantId - merchantLogoUrl - merchantName - merchantOrderId - pspReferenceId - publicKeyId - redirectFromMobilePayUrl type: object properties: merchantId: format: uuid description: Identifier for the Merchant. Originates from the CreateMerchant response. type: string merchantName: description: The display name of the merchant shown to the end-user. type: string merchantLogoUrl: description: '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.' type: string merchantOrderId: description: Merchant's order id - will be shown on receipt to end-user. type: string pspReferenceId: description: PSP's unique reference to payment. type: string amount: format: int64 description: Order amount in minor unit. I.e. 4,95 must be given as 495. type: integer currencyCode: description: Currency of the order. Must be alphabetic ISO 4217 code. type: string allowedCardTypes: description: 'Allowed card types for the payment. These can be used:
MC-DEBIT: MasterCard Debit
MC-CREDIT: MasterCard Credit
MTRO-DEBIT: Maestro Debit
ELEC-DEBIT: VISA Electron Debit
VISA-DEBIT: VISA Debit.
VISA-CREDIT: VISA Credit
DANKORT: Dankort' type: array items: type: string publicKeyId: format: int32 description: Id of the public key to be used for exchange of card data. type: integer redirectFromMobilePayUrl: description: Where to redirect the user when the payment is complete. Must be fully qualified URL. type: string cardDataCallbackUrl: format: uri description: 'Url to make callback with encrypted card data. Must be valid fully qualified URL, must be secured by TLS 1.2. Request is described here: ''https://github.com/MobilePayDev/MobilePay-Online#callbacks''.' type: string failedPaymentCallbackUrl: format: uri description: Url to be notified when a payment ends unsuccessful. Must be a fully qualified URL. Must be secured by TLS 1.2.
You're strongly encouraged to only set this property if your service handles the callback returned, i.e. reply with an http status 2xx for valid callbacks. type: string isCheckout: description: Is the payment a Checkout payment which will require the user to pick an address. type: boolean addressCallbackUrl: format: uri description: Url to make callback with chosen address data for Checkout payment. Request is described here 'https://github.com/MobilePayDev/MobilePay-Online#callbacks'. type: string deliveryAddressAllowed: description: Is it possible to set the delivery address on this particular payment. type: boolean deliveryAddressDisallowedReasonCode: format: int32 description: 'Reason code to indicate the reason choosing of delivery address has been disallowed.
1: Reason not given
2: Goods don''t require physical delivery
3: ''Pick up at store'' already selected in the Webshop
4:''Parcel Shop'' already selected in the Webshop
5: Shop will select a parcelshop close to your home' type: integer deliveryLimitedTo: description: List of countries in which chosen countries can be. Must be in ISO 3166-1 alfa-2 standard. If empty, no restrictions are imposed. type: array items: type: string validUntil: format: date-time description: Indicate when the user shouldn't be able to accept the payment anymore.
If not defined, a default offset of 35 minutes is used. Value, if not null, should be in a valid UTC format, e.g. 2020-04-30T07:35:22.8743886+00:00 or 2020-04-30T07:35+00:00. type: string autoCapture: description: Set to true, if the payment will be automatically captured.
In MobilePay the payment will then be marked as captured immediately after the authorization is successful. If false, you need to mark it as captured as usual. type: boolean customerLanguageCode: description: 'Override the default language code for the payment.
Example: DA for Danish, EN for English.' pattern: DA|EN|FI type: string InitiatePaymentV3Request: required: - allowedCardTypes - amount - currencyCode - merchantId - merchantLogoUrl - merchantName - merchantOrderId - merchantUrl - pspReferenceId - publicKeyId - redirectFromMobilePayUrl type: object properties: merchantId: format: uuid description: Identifier for the Merchant. Originates from the CreateMerchant response. type: string merchantName: description: 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. type: string merchantLogoUrl: description: '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.' type: string merchantOrderId: description: Merchant's order id - will be shown on receipt to end-user. type: string merchantUrl: description: Url of the merchant. Is used for 'Dynamic Linking'. If the merchant doesn´t have a Url, use the most unique string you have on the Merchant, e.g. a VATNumber or simply merchantName. type: string pspReferenceId: description: PSP's unique reference to payment. type: string amount: format: int64 description: Order amount in minor unit. I.e. 4,95 must be given as 495. type: integer currencyCode: description: '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' type: string allowedCardTypes: description: Allowed card types for the payment, includes callback configuration per. card type. See CardType./>. type: array items: $ref: '#/definitions/CardType' publicKeyId: format: int32 description: Id of the public key to be used for exchange of card data. type: integer redirectFromMobilePayUrl: description: Where to redirect the user when the payment is complete. Must be fully qualified URL. type: string failedPaymentCallbackUrl: format: uri description: Url to be notified when a payment ends unsuccessful. Must be a fully qualified URL. Must be secured by TLS 1.2.
You're strongly encouraged to only set this property if your service handles the callback returned, i.e. reply with an http status 2xx for valid callbacks. type: string isCheckout: description: Is the payment a Checkout payment which will require the user to pick an address. type: boolean addressCallbackUrl: format: uri description: Url to make callback with chosen address data for Checkout payment. Request is described here 'https://github.com/MobilePayDev/MobilePay-Online#callbacks'. type: string deliveryAddressAllowed: description: Is it possible to set the delivery address on this particular payment. type: boolean deliveryAddressDisallowedReasonCode: format: int32 description: 'Reason code to indicate the reason choosing of delivery address has been disallowed.
1: Reason not given
2: Goods don''t require physical delivery
3: ''Pick up at store'' already selected in the Webshop
4:''Parcel Shop'' already selected in the Webshop
5: Shop will select a parcelshop close to your home' type: integer deliveryLimitedTo: description: List of countries in which chosen countries can be. Must be in ISO 3166-1 alfa-2 standard. If empty, no restrictions are imposed. type: array items: type: string validUntil: format: date-time description: Indicate when the user shouldn't be able to accept the payment anymore.
If not defined, a default offset of 35 minutes is used. Value, if not null, should be in a valid UTC format, e.g. 2020-04-30T07:35:22.8743886+00:00 or 2020-04-30T07:35+00:00. type: string autoCapture: description: Set to true, if the payment will be automatically captured.
In MobilePay the payment will then be marked as captured immediately after the authorization is successful. If false, you need to mark it as captured as usual. type: boolean customerLanguageCode: description: Override the default language code for the payment.
Accepted values are DA|EN|FI. type: string MerchantCreateResponse: type: object properties: merchantId: format: uuid type: string readOnly: true MerchantDetailsResponse: type: object properties: merchantId: format: uuid type: string readOnly: true externalId: description: "The PSPs own unique identifier for the merchant.\r\nValue may be null." type: string readOnly: true name: description: "The PSP's name of the merchant for billing purposes.\r\nValue may be null." type: string readOnly: true billingCurrency: description: Billing currency of the merchant. Possible values are:
DKK
EUR
SEK
NOK type: string readOnly: true countryCode: description: 'Merchant countrycode. fx Denmark: DK. More information here ''https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2''.' type: string readOnly: true vatNumber: description: "VAT number of the merchant.\r\nValue may be null." type: string readOnly: true merchantCategoryCode: format: int32 description: "To classify a business by the types of goods or services it provides. More information here 'https://en.wikipedia.org/wiki/Merchant_category_code'.\r\nValue may be null." type: integer readOnly: true MerchantListResponse: type: object properties: merchants: description: List of all existing merchants. type: array items: $ref: '#/definitions/MerchantDetailsResponse' MerchantUpdateRequest: description: Only set properties that should be updated.
Empty or null properties are ignored. type: object properties: externalId: description: The PSPs own unique identifier for the merchant. If you are migrating from the previous MobilePay Online API, you must give the same value here as you gave in ShopId on MPO-InitPayment2 service type: string merchantCategoryCode: format: int32 description: To classify a business by the types of goods or services it provides. More information here 'https://en.wikipedia.org/wiki/Merchant_category_code'. type: integer name: description: The PSP's name of the merchant for billing purposes. type: string billingCurrency: description: Billing currency of the merchant. Possible values are:
DKK
EUR
SEK
NOK type: string countryCode: description: Merchant country code e.g. Denmark = DK. Use ISO-3166 ('https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2') or special value APAC. type: string vatNumber: description: VAT number of the merchant. type: string PaymentDetailsV1Response: required: - allowedCardTypes - amount - cardDataCallbackUrl - currencyCode - merchantId - merchantLogoUrl - merchantName - orderId - publicKeyId - redirectFromMobilePayUrl type: object properties: merchantId: format: uuid description: The id of the Merchant. type: string merchantName: description: The display name of the merchant shown to the end-user. type: string merchantLogoUrl: description: The url of the logo shown to the end-user. type: string orderId: description: Unique reference to order. type: string pspReferenceId: type: string readOnly: true amount: format: double description: Order amount in minor unit. Ie. kr. 4,95 will be 495. type: number currencyCode: description: Currency of the order. Must be alphabetic ISO 4217 code. type: string allowedCardTypes: description: 'Allowed card types for the payment. These can be used:
MC-DEBIT: MasterCard Debit
MC-CREDIT: MasterCard Credit
MTRO-DEBIT: Maestro Debit
ELEC-DEBIT: VISA Electron Debit
VISA-DEBIT: VISA Debit.
VISA-CREDIT: VISA Credit
DANKORT: Dankort' type: array items: type: string publicKeyId: format: int32 description: Id of the public key to be used for exchange of card data. type: integer redirectFromMobilePayUrl: description: Where to redirect the user after finishing the payment. Must be fully qualified URL. type: string cardDataCallbackUrl: description: Url to make callback with encrypted card data. Must be valid fully qualified URL, must be secured by TLS 1.2.
Request is described here 'https://github.com/MobilePayDev/MobilePay-Online#callbacks'. type: string PaymentDetailsV2Response: required: - allowedCardTypes - amount - cardDataCallbackUrl - currencyCode - merchantId - merchantLogoUrl - merchantName - merchantOrderId - publicKeyId - redirectFromMobilePayUrl type: object properties: merchantId: format: uuid description: The id of the Merchant. type: string merchantName: description: The display name of the merchant shown to the end-user. type: string merchantLogoUrl: description: The url of the logo shown to the end-user. type: string merchantOrderId: description: Unique reference to order. type: string pspReferenceId: type: string readOnly: true amount: format: int64 description: Order amount in minor unit. Ie. kr. 4,95 will be 495. type: integer currencyCode: description: Currency of the order. Must be alphabetic ISO 4217 code. type: string allowedCardTypes: description: 'Allowed card types for the payment. These can be used:
MC-DEBIT: MasterCard Debit
MC-CREDIT: MasterCard Credit
MTRO-DEBIT: Maestro Debit
ELEC-DEBIT: VISA Electron Debit
VISA-DEBIT: VISA Debit.
VISA-CREDIT: VISA Credit
DANKORT: Dankort' type: array items: type: string publicKeyId: format: int32 description: Id of the public key to be used for exchange of card data. type: integer redirectFromMobilePayUrl: description: Where to redirect the user after finishing the payment. Must be fully qualified URL. type: string cardDataCallbackUrl: description: Url to make callback with encrypted card data. Must be valid fully qualified URL, must be secured by TLS 1.2.
Request is described here 'https://github.com/MobilePayDev/MobilePay-Online#callbacks'. type: string PaymentDetailsV3Response: required: - allowedCardTypes - amount - currencyCode - merchantId - merchantLogoUrl - merchantName - merchantOrderId - merchantUrl - publicKeyId - redirectFromMobilePayUrl type: object properties: merchantId: format: uuid description: The id of the Merchant. type: string merchantName: description: The display name of the merchant shown to the end-user. type: string merchantLogoUrl: description: The url of the logo shown to the end-user. type: string merchantOrderId: description: Unique reference to order. type: string merchantUrl: description: Url of the merchant. type: string pspReferenceId: type: string readOnly: true amount: format: int64 description: Order amount in minor unit. Ie. kr. 4,95 will be 495. type: integer currencyCode: description: Currency of the order. Must be alphabetic ISO 4217 code. type: string allowedCardTypes: description: Allowed card types for the payment, includes callback configuration per. card type. See CardType./>. type: array items: $ref: '#/definitions/CardType' publicKeyId: format: int32 description: Id of the public key to be used for exchange of card data. type: integer redirectFromMobilePayUrl: description: Where to redirect the user after finishing the payment. Must be fully qualified URL. type: string deliveryAddressAllowed: description: Flag to tell if delivery address is allowed for checkout payment type: boolean readOnly: true deliveryAddressDisallowedReasonCode: format: int32 description: Reason code for not allowing delivery address for checkout payment type: integer readOnly: true ProblemDetails: type: object properties: type: type: string title: type: string status: format: int32 type: integer detail: type: string instance: type: string additionalProperties: [] UpdateAuthorizationAttemptRequest: type: object properties: reasonCode: format: int32 description: 'Reason code describing the reason the authorization failed.
Codes:
1000: rejected
1001: rejected, insufficient funds
1003: rejected, card expired
1004: rejected, fraud suspected
1005: rejected, soft blocked
1006: rejected, hard blocked
1007: rejected, web payment disabled for card
1008: soft reject, 3DS stepup required, ThreeDSecureUrl must be supplied
1009: after a succesfull 3DS stepup, PSP now has crypto and will retry authorization
1010: reject for payment invalidation, don´t forget to also call /invalidate endpoint
2000: error
2001: error, permanent - don''t try again
2002: error, temporary - try again
3000: timeout - try again' type: integer reasonMessage: description: Prosaic description of why the authorization failed type: string succeeded: description: Property indicating whether or not the authorization was successful. If FALSE please provide ReasonCode and ReasonMessage. type: boolean expireTimestamp: format: date-time description: Shows when the authorization expire for the PSP. type: string acquirerVatNumber: description: 'The VAT number of the Acquirer to uniquely identify the Acquirer used for this authorization attempt. Must be given for all errorCodes in 1000 range.
Used for our technical surveillance of the transactions and tracking errors.
Use the format described here: ''https:\/\/en.wikipedia.org\/wiki\/VAT_identification_number''.
Examples:
Clearhaus: DK33749996
Bambora: SE556233942301
Elavon: IE418442
Handelsbanken: SE502007786201
Nets: DK20016175
Swedbank: SE502017775301
Valitor: IS23243
Wirecard: DE201591202' type: string acquirerMerchantId: description: The Id of the Merchant with the Acquirer. Must be given for all errorCodes in 1000 range. type: string acquirerPaymentReference: description: The Reference (or Id) of the payment with the Acquirer. Must be given for all errorCodes in 1000 range. type: string threeDSecureUrl: format: uri description: For ReasonCode=1008 the 3DSecure Fallback flow is activated. MobilePay app will open this Url in a web view. Can only be used with ReasonCode=1008. type: string UpdatePaymentRequest: type: object properties: reservationExpireTimestamp: format: date-time description: The point in time where the reservation is known to expire. Will be shown to the user in the MobilePay app. 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. type: string redirectFromMobilePayUrl: description: Where to redirect the user when the payment is complete. Must be fully qualified URL. type: string basePath: /cardpassthrough-restapi x-ibm-endpoints: - endpointUrl: https://api.mobilepay.dk type: - production - development ...