# 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 ### Customer Initiates Checkout details summary Customer Initiates Checkout A customer on your website decides to make a purchase and proceeds to checkout. details summary Checkout Request Your website generates a request to configure the [Checkout Page](/guides/checkout/hosted-checkout), including: * Payment amount and currency * Order details * Customer details * A return URL (`backUrl`) where xMoney will redirect the customer after payment details summary Payment & 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`) details summary 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](/api/webhooks), see the corresponding documentation ## Notification URLs To ensure you receive real-time payment status updates, you must configure two notification URLs: Payment Page Back URL * Redirects customers immediately after a payment attempt (successful or failed). * Can be set in the [Checkout](/guides/checkout/hosted-checkout) configuration parameters or via the xMoney Merchant Dashboard. Server-to-Server Notification URL * Provides reliable server-side notifications, especially in case of browser interruptions. * See corresponding [Webhooks](/api/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](/api/webhooks) documentation. Once decrypted, you will find a JSON object similar to the following example: Example notification payload ```json { "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 } ``` Status Description * `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.