You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WooCommerce通过Razorpay支付后无法跳转自定义感谢页求助

解决WooCommerce Razorpay支付后跳转到自定义感谢页的问题

问题分析

你之前用woocommerce_thankyou钩子写的代码对零支付商品有效,但对Razorpay弹窗支付的付费商品无效,核心原因是:Razorpay WooCommerce插件的异步支付回调流程会优先处理跳转逻辑,默认指向WooCommerce原生感谢页,这个流程的优先级高于woocommerce_thankyou钩子的重定向,导致你的代码无法触发生效。

解决方案

使用Razorpay插件专属的过滤器razorpay_woocommerce_success_redirect来覆盖默认跳转URL,代码如下:

// 自定义Razorpay支付成功后的跳转地址
add_filter( 'razorpay_woocommerce_success_redirect', 'custom_razorpay_success_redirect', 10, 2 );
function custom_razorpay_success_redirect( $default_redirect, $order_id ) {
    // 替换为你的自定义感谢页完整URL
    $custom_thankyou_url = 'https://your-domain.com/your-custom-thankyou-page';
    
    $order = wc_get_order( $order_id );
    // 仅在订单状态未失败时使用自定义跳转
    if ( ! $order->has_status( 'failed' ) ) {
        return $custom_thankyou_url;
    }
    
    // 订单失败时保留原默认跳转
    return $default_redirect;
}

额外注意事项

  • 自定义URL必须是完整的HTTPS地址,避免跳转异常
  • 替换代码后清除WordPress缓存及浏览器缓存,再进行测试
  • 测试可使用Razorpay的测试支付凭证,无需真实付款

内容的提问来源于stack exchange,提问作者ank

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 05:08:11