Skip to content

šŸ› Feature Request: Add Return/Cancel URL for ā€œBack to Merchant Pageā€ Action in Snap RedirectĀ #119

Description

@rmdhfz

Summary

When a customer cancels a transaction and clicks ā€œBack to Merchant Pageā€ on the Snap payment page, they are redirected to the Finish URL. This behavior is misleading because the transaction is actually cancelled, not successfully completed.

We propose adding a new redirect field named Return/Cancel URL to properly handle this user-initiated cancellation scenario.

Steps to Reproduce

  1. Create a Snap Redirect transaction.
  2. On the Snap payment page, the customer cancels the payment process.
  3. The Customer clicks ā€œBack to Merchant Pageā€.
  4. Snap redirects the customer to the Finish URL (e.g., https://dukodu.id/finish-payment).

Actual Behavior

The system redirects the user to the Finish URL, which is designed for successful payment completion.

Expected Behavior

When a user cancels the transaction or clicks ā€œBack to Merchant Pageā€, Snap should redirect to a dedicated Return/Cancel URL (e.g., https://dukodu.id/cancel-payment).

This allows merchants to:

  1. Display a ā€œPayment Cancelledā€ or ā€œTransaction Abortedā€ message,
  2. Offer the option to retry or choose another payment method,
  3. Clearly distinguish this state from successful payments.

Impact

  • Users may believe their payment was successful when it was actually cancelled.
  • Business systems may misinterpret the transaction state.
  • Increases confusion and potential customer support tickets.
  • Degrades overall user experience (UX).

Proposed Solution

Add a third redirect field under Redirection Settings on the Midtrans Dashboard:

  • Finish URL: Redirect for successful/settled transactions
  • Error URL: Redirect for failed or technical error transactions
  • Return/Cancel URL: Redirect for user-initiated cancellations or ā€œBack to Merchantā€ actions

Attachments

Image

Image

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions