WooCommerce 以编程方式创建订单并重定向到付款

2024-02-12

对于 WooCommerce,我正在寻找一种以编程方式创建订单的解决方案(我的网站只有 1 个带有一些字段的主页)来订购。

使用复选框添加产品后,我想创建订单并重定向到付款方式。

有了这个答案,创建订单就差不多完成了,但是我如何开始付款呢?Wordpress(Woocommerce 扩展)- 以编程方式创建新订单 https://stackoverflow.com/questions/17163251/wordpress-woocommerce-extension-create-new-order-programatically


这对我来说是这样的:

if (isset($_POST['isOrder']) && $_POST['isOrder'] == 1) {
    $address = array(
        'first_name' => $_POST['notes']['domain'],
        'last_name'  => '',
        'company'    => $_POST['customer']['company'],
        'email'      => $_POST['customer']['email'],
        'phone'      => $_POST['customer']['phone'],
        'address_1'  => $_POST['customer']['address'],
        'address_2'  => '', 
        'city'       => $_POST['customer']['city'],
        'state'      => '',
        'postcode'   => $_POST['customer']['postalcode'],
        'country'    => 'NL'
    );

    $order = wc_create_order();
    foreach ($_POST['product_order'] as $productId => $productOrdered) :
        $order->add_product( get_product( $productId ), 1 );
    endforeach;

    $order->set_address( $address, 'billing' );
    $order->set_address( $address, 'shipping' );

    $order->calculate_totals();

    update_post_meta( $order->id, '_payment_method', 'ideal' );
    update_post_meta( $order->id, '_payment_method_title', 'iDeal' );

    // Store Order ID in session so it can be re-used after payment failure
    WC()->session->order_awaiting_payment = $order->id;

    // Process Payment
    $available_gateways = WC()->payment_gateways->get_available_payment_gateways();
    $result = $available_gateways[ 'ideal' ]->process_payment( $order->id );

    // Redirect to success/confirmation/payment page
    if ( $result['result'] == 'success' ) {

        $result = apply_filters( 'woocommerce_payment_successful_result', $result, $order->id );

        wp_redirect( $result['redirect'] );
        exit;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WooCommerce 以编程方式创建订单并重定向到付款 的相关文章

  • HTML 表单 POST 到 PHP 页面 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 好的 我创
  • 返回变量在 PHP 中不起作用(即没有返回值!)

    我更喜欢使用 Python 语言进行编程 但必须使用 PHP 来处理特定的网站应用程序项目 在 PHP 中 我试图将函数中的值 返回 到主程序环境 用于后续计算 但无论我尝试什么 函数中计算的值都不会返回该值 而是从函数中回显 工作正常 在
  • 如何通过键查找最大和最小日期

    我有一个数组 a array 2010 05 03 gt 100 2010 05 04 gt 400 2008 05 01 gt 800 2011 01 01 gt 800 我如何找到最大值和最小值key date 例如 max gt 20
  • 如何使用 C# 向 WordPress 发帖? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想编写一个程序 可以使用 C 通过 POST 方法将数据发布到 WordPress 我不知道该怎么做
  • Chrome 不渲染
    标签,FF 渲染

    我有一个非常烦人的问题 我的网站有一个表单 可以在 Firefox 中运行 但不能在 IE 或 Chrome 中运行 它是用 WordPress 的 Gravity Forms 制作的 但这可能与该问题无关 因为另一个表单插件也出现了同样的
  • 在 symfony2 中为特定控制器设置 max_execution_time

    Using ini set 我可以扩展最大执行时间一个脚本的 在Symfony2 我可以添加ini set to web app php and web app dev php将增加的执行时间应用于所有控制器 但在这种情况下 我只想扩展最大
  • 如何创建一个 WordPress 主页滑块,其中包含来自 4 个独特类别的最新或精选帖子的多个查询?

    我正在为我正在构建的 WordPress 网站创建一个滑块 我尝试构建的滑块共有 4 个幻灯片 框架 每个框架都需要显示特定类别中的最新帖子或特定类别中的特色帖子 我的意思是 4 张幻灯片 框架中的每张都代表一个单独的类别 Slide Fr
  • FPDF - 内嵌粗体文本

    我正在尝试从 PHP 创建 PDF 出于法律原因 我们需要将免责声明的一部分设为粗体 并且需要概述免责声明 我当前的代码使用 if isset POST optout POST optout yes pdf gt Ln 5 pdf gt S
  • PSR-4 代码库中条令生成器的解决方法

    在 Windows 机器上使用 Symfony 2 和 Doctrine 我正在尝试 从现有模式生成实体 php app console doctrine mapping import force CoreBundle annotation
  • SimpleSAMLPHP 重定向循环

    我们正在尝试使用自定义 mysql 数据库设置 sso 但它在以下两个请求之间进入无限循环 POST http 192 168 0 15 simplesaml module php core loginuserpass php 设置Cook
  • Propel Query 中的动态表名称

    我想知道您是否可以使 propel 查询的表名称动态化 有点像变量 一个例子类似于 DynamicVar Query create 我让它在 ifs 中工作 就像下面的例子一样 但如果更动态地制作 可以删除相当多的行 这些表的设置都是相同的
  • CSV 从 UTF8 到 ISO-8859-1

    我正在尝试修改我的 CSV 导出 但它不会将我的 CSV 从 UTF 8 转换 保存为 ISO 8859 1 请问我做错了什么吗 实际上自从修改了这个之后 我得到了一个空的 CSV 文件 php 7 0 x function my Gene
  • 我可以显示我在 PHP 中设置的所有 cookie 吗?

    我正在尝试诊断 cookie 中的错误 但 cookie 的名称不是应有的名称 PHP 有没有办法打印我的域设置的所有 cookie 你有没有尝试过 print r COOKIE
  • 解析 PHP 响应:未捕获的语法错误:意外的标记 <

    我正在使用 AJAX 来调用 PHP 脚本 我唯一需要从响应中解析的是脚本生成的随机 ID 问题是 PHP 脚本会引发许多错误 这些错误实际上很好 不会妨碍程序功能 唯一的问题是当我跑步时 parseJSON response I get
  • 需要使用 php 从远程服务器下载与 $_FILES 相同的内容[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 好的 我有处理图像上传的 php 代
  • 避免 SQLite3 中的 SQL 注入

    我正在尝试找出一种避免 SQL 注入的好简单方法 到目前为止我只能提出两个想法 对用户输入进行 Base64 编码 其实不想这样做 使用正则表达式删除不需要的字符 目前正在使用这个 不确定是否100 安全 这是我当前的代码
  • 无需下载整个文件即可读取 ID3 标签

    是否可以读取 MP3 文件的 ID3 标签 持续时间 艺术家 标题 而无需下载整个文件 我做了一些测试 只需下载 MP3 文件的几个字节就可以获得艺术家和标题标签 但我不确定持续时间和其他标签是否可能 Thanks 我刚刚发现 ffmpeg
  • 使 div 的大小与其内部图像的大小相同

    我有一个带有以下代码的div HTML div img src img logo png div CSS div imgContainer width 250px height 250px padding 13px 问题是用户可以编辑图像大
  • Laravel 5 注销特定用户

    在我的 laravel 5 应用程序中 有一个功能允许具有管理员角色的用户重置非管理员的任何人的密码 但这不会强制该人注销并再次登录 更改密码后如何强制用户注销 我没有对用于验证用户身份或任何内容的中间件进行任何更改 我不知道它是否有效 但
  • PHP 中的 Zip 流

    我有一个 PHP 脚本 可以动态创建 zip 文件并强制浏览器下载该 zip 文件 问题是 我可以直接将zip文件写入连接到用户浏览器的输出流 而不是先将其保存为服务器上的真实文件 然后发送文件吗 提前致谢 如果您的 Web 服务器运行的是

随机推荐

  • 需要来自 swagger codegen 的注释

    我需要一种方法来注释我的 openapi 3 规范 以便 swagger codegen 向我的 java 类添加注释 例如 JsonIgnoreProperties ignoreUnknown true 那可能吗 TIA 看来您可以利用胡
  • 通过 WebJobs 重新排队或删除 Azure 存储队列中的消息

    我希望有人能够澄清有关 Azure 存储队列及其与 WebJobs 交互的一些事情 要执行重复的后台任务 即添加到队列一次 然后以设定的时间间隔重复 是否有一种方法可以更新 QueueTrigger 函数中传递的相同消息 以便可以扩展其租约
  • 如何使用OpenCV的重映射功能?

    这是 remap 最简单的测试用例 import cv2 import numpy as np inimg np arange 2 2 reshape 2 2 astype np float32 inmap np array 0 0 0 1
  • 制作独特数组的最快方法是什么?

    我有以下情况 我有一大堆随机字符串 应尽快使该数组变得唯一 现在通过一些基准测试我发现 ruby 的 uniq 相当慢 require digest require benchmark make a nice random array of
  • wordpress 上的 $(window).height() 数量太大

    我正在创建工具提示的动态位置 我先在 jsfiddle 上测试了代码 然后再将我的代码放入我的网站 在本地主机上使用 wordpress 构建 在 jsfiddle 上我的脚本可以工作 但是当我将代码放入我的网站时 它不起作用 在 Chro
  • 将数据传递到 Laravel 视图

    刚刚进入 MVC 框架 我尝试使用刀片模板引擎将数据传递到我的视图 这是我的路线文件 Route get PagesController index 我的页面控制器
  • 绘图上可缩放、可拖动的框可以选择数据

    这是设置 我有一个数据图形图 我试图找出是否可以尝试在图形上放置一个可以移动和更改宽度的框 并返回一些值 例如曲线下的百分比和面积 它看起来像这样 关于从哪里开始有什么建议吗 我的感觉是 使用更多 GUI 界面而不是标准绘图可能是可行的 我
  • 在自定义类上创建字典样式的集合初始值设定项[重复]

    这个问题在这里已经有答案了 可能的重复 自定义集合初始化器 https stackoverflow com questions 2495791 custom collection initializers 我有一个简单的 Pair 类 pu
  • 如何增加 Tensorflow 中的变量?

    当尝试在 Tensorflow 中使用主管时 我意识到 您的训练操作负责增加全局步值 参考 https github com tensorflow tensorflow blob master tensorflow g3doc how to
  • 如何在 MVC 4 中将 List 传递给控制器

    我有 2 个模型 问题和答案 如下所示 我想将列表模型发送到视图 并且在提交表单时 我将列表模型提交到控制器 但在 Action UpdateQuestion 中只能获取问题列表 但只能获取问题列表答案是否定的 您能解释一下并告诉我如何在提
  • 在Python中迭代图像所有像素的最快方法

    我已经将图像读取为数组 import numpy as np from scipy import misc face1 misc imread face1 jpg 面 1 的尺寸为 288 352 3 我需要迭代每个像素并填充y在训练集中我
  • 如何在运算符处分割字符串

    我正在用 Java 创建一个计算器 如果我让用户输入一个字符串 例如 7 4 18 3 2 到目前为止 我必须让用户在每个数字或运算符之间输入一个空格 我如何从给定的字符串创建一个数组 其中字符串按数字或运算符拆分 因此在这种情况下数组将是
  • 错误:警告:从空值创建默认对象

    我第一次发帖 我希望有人能帮助我解决周三出现在我的网站上的这个错误 我不知道如何纠正它 因为我从未接触过 php 文件 如果我能得到一些帮助 我将非常感激 出现错误的网站位于页面顶部 http www inkedkoidesigns ca
  • 如何安装 QtWebKit 插件

    我正在运行 Qt 4 5 商业快照 并希望在我的应用程序中使用我下载的插件 它是一个 so 文件 QWebView 我需要放置此文件的特定位置吗 我可以使用QWebPluginFactory 我假设这里的插件是 NPAPI 插件 例如 Fl
  • 无法创建 SSL/TLS 安全通道 - 问题可能出在代理服务器上吗?

    我有一个 C 应用程序 它调用使用证书进行身份验证的 Web 服务方法 该代码有效 因为当它安装在服务器 A 没有代理 上时 它会进行身份验证 当我在客户端站点的服务器 B 上安装代码时 它安装在代理后面 我确实尝试了几乎所有方法 但我不断
  • 为什么 List 不实现 IOrderedEnumerable

    我想使用有序枚举 并使用接口作为返回类型而不是具体类型 我需要返回一组有序的对象 但是 当使用IList
  • 如果键不存在,C# Dictionary 查找会发生什么情况?

    我尝试检查 null 但编译器警告这种情况永远不会发生 我应该寻找什么 假设您想获取键的值does存在 使用Dictionary
  • 如何使用 beautifulsoup 检查字符串是否存在

    您好 我正在尝试编写一个程序来抓取 URL 如果抓取数据包含特定字符串 请执行某些操作 我如何使用 beautiful soup 来实现此目的 import requests from bs4 import BeautifulSoup da
  • $(...).function 不是函数 jQuery

    我知道这个问题已经在之前的帖子中发布过 但没有任何帮助 这让我发疯 更重要的是我确信答案非常简单 但我对 javascript 真的很陌生 我正在尝试从那里集成这个 raptor konami code http zurb com play
  • WooCommerce 以编程方式创建订单并重定向到付款

    对于 WooCommerce 我正在寻找一种以编程方式创建订单的解决方案 我的网站只有 1 个带有一些字段的主页 来订购 使用复选框添加产品后 我想创建订单并重定向到付款方式 有了这个答案 创建订单就差不多完成了 但是我如何开始付款呢 Wo