Accepting payments

Accepting payments with xMoney is simple and secure! Our securely hosted payment form allows you to start accepting transactions effortlessly—without handling sensitive payment data on your servers.

Just add a Pay Now button to your site, and we’ll take care of the rest. Customers are redirected to xMoney’s hosted checkout, where we ensure PCI compliance, secure processing, and fast authorization—so you can stay focused on growing your business.

Payment Flow

Here’s a step-by-step breakdown of how a customer's payment is processed using xMoney:

  1. Customer Initiates Checkout:

    • A customer on your website decides to make a purchase and proceeds to checkout.
  2. Checkout Request:

    • Your website generates a request to configure the Checkout Page, including:
      • Payment amount and currency
      • Order details
      • Customer details
      • A return URL (backUrl) where xMoney will redirect the customer after payment
  3. Customer Payment and Redirection:

    • The customer is redirected to xMoney’s secure checkout page.
    • They select a payment method and complete the transaction.
    • xMoney securely handles the payment processing and PCI compliance.
    • After payment, xMoney redirects the customer back to the return URL (backUrl).
  4. Webhook Notification:

    • xMoney sends a webhook, containing transaction details and status updates, to your configured URL once the payment is processed.
    • Your server must respond with an HTTP 200 OK status to confirm receipt.
    • For a detailed guide on handling Webhooks, see the corresponding documentation.

Notification URLs

To ensure you receive real-time payment status updates, you must configure two notification URLs:

  1. Payment Page Back URL (backUrl)

    • Redirects customers immediately after a payment attempt (successful or failed).
    • Can be set in the Checkout configuration parameters or via the xMoney Merchant Dashboard.
  2. Server-to-Server Notification URL (Webhook)

    • Provides reliable server-side notifications, especially in case of browser interruptions.
    • See corresponding Webhooks guide on how to set this up via the xMoney Dashboard.

Webhooks may experience slight delays due to network conditions or retry attempts. Use the Payment Page Back URL response for immediate customer feedback and initial transaction updates.

Handling transaction status

After receiving a notification from xMoney, you'll need to decrypt the payload to access the transaction details. The payload is encrypted for security purposes.

For detailed instructions on how to decrypt the payload, please refer to the Webhooks documentation.

Once decrypted, you will find a JSON object similar to the following example:

Example notification payload

{
  "transactionStatus": "complete-ok",
  "orderId": 1234,
  "externalOrderId": "external-order-id",
  "transactionId": 1234,
  "transactionMethod": "card",
  "customerId": 1,
  "identifier": "identifier",
  "amount": 5.55,
  "currency": "EUR",
  "customData": {
    "key_1": "value_1",
    "key_2": "value_2"
  },
  "timestamp": 1600874501,
  "cardId": 3
}

The transactionStatus field determines the outcome of the payment.

  • complete-ok: Indicates a successful payment. Display a success page and initiate the order fulfillment process.
  • complete-failed: Indicates a failed payment. Display a payment failed message and redirect the customer back to the payment page to retry the transaction.

Conclusion

By combining xMoney's hosted payment page with its powerful features, you can create a seamless, secure, and user-friendly payment experience tailored to your business needs. Explore our documentation further to learn how to implement these capabilities in your online store or application.