Skip to main content

Starting a Payment

To initiate a new payment, you begin with the /payment/card/start endpoint.
This endpoint sends all the necessary details of a transaction to the NETOPIA Payments server.

Depending on the start endpoint's response, you may need to continue the 3-D Secure authentication flow via verify-auth.


Live/Production

https://secure.mobilpay.ro/pay/payment/card/start

Sandbox/Test

https://secure.sandbox.netopia-payments.com/payment/card/start

Request Structure

Below is a concise overview of the JSON payload you should send to /payment/card/start.
For advanced usage or additional fields, refer to the OpenAPI specification (particularly StartRequest).

Check a full example of a request payload.

View Sample Request

Request Fields

The start request is composed of three main sections: config, payment, and order.

1. Config

FieldTypeDescriptionRequiredWho Configures
emailTemplatestringName of a custom email template shared by NETOPIANoOperator
emailSubjectstringEmail subject if emailTemplate is setNoOperator
cancelUrlstringURL where user is redirected if payment is cancelledNoMerchant
notifyUrlstringThe merchant URL for receiving payment notificationsYesMerchant
redirectUrlstringThe callback URL after 3D Secure or finalizationYesMerchant
languagestringLanguage code (ISO 639-1), e.g. "en", "ro"YesMerchant

2. Payment

(a) Options

FieldTypeDescriptionRequiredWho Configures
installmentsintegerNumber of installmentsNoOperator
bonusintegerLoyalty points to useNoOperator

(b) Instrument

FieldTypeDescriptionRequiredWho Provides
typestringPayment method type (e.g. "card")Yes (unless token)Client
accountstringCard number (PAN)Yes (unless token)Client
expMonthintegerCard expiry month (1–12)Yes (unless token)Client
expYearintegerCard expiry year (YYYY)Yes (unless token)Client
secretCodestringCVV/CVC codeYes (unless token)Client
tokenstringToken from a previous transaction/bindingNoOperator

(c) Data

General device/browser information to help with fraud checks and 3-D Secure.

FieldTypeDescriptionRequiredProvided By
BROWSER_USER_AGENTstringClient browser’s user agentNoClient
OSstringOperating System nameNoClient
OS_VERSIONstringOperating System versionNoClient
MOBILEstring"true"/"false" if mobileNoClient
SCREEN_POINTstringExtra screen size infoNoClient
SCREEN_PRINTstringExtra data about resolutionNoClient
BROWSER_COLOR_DEPTHstringE.g. "24" or "32"NoClient
BROWSER_SCREEN_WIDTHstringScreen width in pixelsNoClient
BROWSER_SCREEN_HEIGHTstringScreen height in pixelsNoClient
BROWSER_PLUGINSstringPlugins present in the browserNoClient
BROWSER_JAVA_ENABLEDstring"true"/"false"NoClient
BROWSER_LANGUAGEstringE.g. "en-US"NoClient
BROWSER_TZstringTimezone nameNoClient
BROWSER_TZ_OFFSETstringTimezone offset from UTCNoClient
IP_ADDRESSstringUser’s IP addressNoClient

3. Order

FieldTypeDescriptionRequiredWho Provides
ntpIDstringNETOPIA transaction ID (leave empty "" for new payments)NoOperator
posSignaturestringPOS Signature ID from your NETOPIA accountYesMerchant
dateTimestringTimestamp of when the order is created (ISO 8601, e.g. "2023-08-24T14:15:22Z")YesMerchant
descriptionstringBrief description of the orderYesMerchant
orderIDstringUnique merchant order IDYesMerchant
amountfloatTotal amount to be chargedYesMerchant
currencystringISO 4217 currency code (e.g. "RON", "EUR")YesMerchant

(a) Billing Information

FieldTypeDescriptionRequiredProvided By
emailstringCustomer’s billing emailYesClient
phonestringCustomer’s billing phone numberYesClient
firstNamestringCustomer’s first nameYesClient
lastNamestringCustomer’s last nameYesClient
citystringCity for billing addressYesClient
countryintegerNumeric ISO 3166-1 code for countryYesClient
statestringState or regionYesClient
postalCodestringBilling ZIP codeYesClient
detailsstringAdditional notes for billingYesClient

(b) Shipping Information

FieldTypeDescriptionRequiredProvided By
emailstringRecipient’s emailYesClient
phonestringRecipient’s phoneYesClient
firstNamestringRecipient’s first nameYesClient
lastNamestringRecipient’s last nameYesClient
citystringCity for shipping addressYesClient
countryintegerNumeric ISO 3166-1 code for shipping countryYesClient
statestringState or regionYesClient
postalCodestringZIP codeYesClient
detailsstringAdditional notes for shippingYesClient

(c) Products

Products is an array containing each item in the cart:

FieldTypeDescriptionRequiredWho Provides
namestringProduct nameNoMerchant
codestringProduct code or SKUNoMerchant
categorystringCategory or product groupNoMerchant
priceintUnit price for the productNoMerchant
vatintVAT percentageNoMerchant

(d) Installments

FieldTypeDescriptionRequiredWho Provides
selectedintegerNumber of installments chosenYesOperator
availablearrayList of possible installments (e.g., [0,3,6])YesOperator

(e) Data

FieldTypeDescriptionRequiredWho Provides
property1stringCustom extra data (merchant use)NoMerchant
property2stringCustom extra data (merchant use)NoMerchant

Notes on the Response

note
  • If the server responds with status = 15 and error.code = 100, 3-D Secure is required. Check the customerAction object, redirect the user for authentication, and then finalize via verify-auth.
  • A successful non-3DS transaction usually has status = 3 or status = 5 with error.code = "00" or "Approved".

For more details on parsing the response, see StartResponse in the OpenAPI or your next step: Authorize a Payment.