The createPaymentRequest method initiates a new payment by sending a payment request with all relevant payment information to the gateway. It is the preferred way of enabling a customer to pay via the AltaPay payment platform. It supports all the Alternative Payment Methods that are supported on our platform, and even though it redirects the customer to AltaPay, you (the merchant) keep complete control of the payment page. You can easily and dynamically adapt it so that, as far as your customer is concerned, they never leave your shop.

On receipt of the payment request, you get the payment page URL.

  • The Url element contains the URL you should direct your customers to.
  • The DynamicJavascriptUrl element contains a URL you can use to dynamically load the payment page in an iFrame. For more information, see Loading the payment page dynamically.

For information about the payment flow process, see Payment flow process (Merchant API).

The URLs show a payment page that for credit card payments, without custom styling, looks like this:

For instructions on how to create custom styling for the payment page, see Styling the payment page (callback_form).

For information about the XML Schema Definition for API responses, see API Response structure (XML).

To enable surcharging (only for credit cards) on a terminal, using specific surcharging rules, contact us.

If surcharging is disabled on your terminal, but rules have been set up, the calculateSurcharge method calculates the surcharge based on those rules. As of January 2018, surcharging consumer credit cards in the EU, Norway, and Iceland is prohibited.

Request parameters

The API call does not happen in the browser, which means that users cannot tamper, or even see, the data posted to the gateway. You do not have to pass a check sum for the customer information.

The following parameters are mandatory for all integrations:






The terminal determines the payment method and currency. For more information, see AltaPay's Payment Gateway. This is the title of your terminal, found under Home > Terminal Settings in the Merchant Interface. You can use variables in the terminal parameter. For example, if you want to call My EUR Terminal, you can set the terminal parameter value to 'My {currency} Terminal', where {currency} references the value of the currency parameter.




This is the internal ID of the order in your webshop. In most integrations, you can use the same order ID for up to four orders. For PayPal and MobilePay payments, you can only use it for a singe successful transaction. The shop_orderid value is posted back to you, so you know the order to which the payment refers.



PayPal and MobilePay only accept order IDs of 50 characters or less



This is the payment amount. If you are setting up a subscription, it is the default amount for each capture. You must use a dot as the decimal separator, and the amount can have maximum 2 decimals.




This is the payment currency. It must be specified in an ISO-4217 format, either using the 3-digit numeric code, or the 3-letter character code. For more information about ISO-4217 currency codes, see

Only allows payments in DKK

[0-9]{3} or



Select from the drop-down list to see the parameters relevant for that method/acquirer: