我已经将WooCommerce应用到我的网店,并连接了一个CorvusPay网关进行在线支付。
现在我们遇到的问题是,Corvus要求我的订单号包含字符(大写和小写)以及数字。
我在Wordpress中看到并尝试了许多插件和过滤器,了解如何更改我的订单号,但在订单处理并发送到Corvus的过程中,订单号仍然是原来的post ID。
我知道WooCommerce使用Wordpress帖子ID来创建初始订单号,但是我如何改变这个?
如何修改WooCommerce,使其使用特定的订单号生成方法,即我希望订单号为“Kr-12345”,而不是“12345”。
我需要一种方法来改变它的数字生成方法,而不是使用像顺序数字这样的插件,因为这只会改变我Wordpress页面中的数字。
这看起来像是网关开发人员未正确实现网关的另一种情况。对于我的回答,我假设您使用的是CorvusPay WooCommerce集成。
如果您使用classes.php中的process_payment()
函数,您将看到插件每次都将订单的实际post_id发送到网关:
/**
* This method accepts payment request initiated by user, and redirects
* him to CorvusPay IPG.
* @param int $order_id
* @return array
*/
public function process_payment($order_id) {
// Load options
$options = $this->_getOptions();
$checkout_page_id = $options[CpsiKeys::OPTION_CHECKOUT_PAGE_ID];
return array(
'result' => 'success',
'redirect' => add_query_arg('order_id', $order_id, get_permalink($checkout_page_id))
);
}
这意味着无论你尝试什么技巧,如果没有修改这个函数,你都无法克服这个问题,因为插件总是发送错误的信息(或者至少是错误的格式)。
对此,有许多修复程序:
-
/**
* This method accepts payment request initiated by user, and redirects
* him to CorvusPay IPG.
* @param int $order_id
* @return array
*/
public function process_payment($order_id) {
// Load options
$options = $this->_getOptions();
$checkout_page_id = $options[CpsiKeys::OPTION_CHECKOUT_PAGE_ID];
return array(
'result' => 'success',
'redirect' => add_query_arg('order_id', 'ABx' . $order_id, get_permalink($checkout_page_id))
);
}
其中ABx
是您的前缀。
科达
您可以使用woocmerce\u order\u number
hook来过滤您想要的值。本指南介绍如何使用它简单地添加前缀和后缀。
add_filter( 'woocommerce_order_number', 'change_woocommerce_order_number' );
function change_woocommerce_order_number( $order_id ) {
$prefix = 'VK/';
$suffix = '/TS';
$new_order_id = $prefix . $order_id . $suffix;
return $new_order_id;
}
看来这能满足你的要求。如果不需要,您可以删除后缀,或者对$new\u order\u id的格式进行任何必要的调整。
另一件需要记住的事情是,如果您使用PayPal for WooCommerce之类的插件,它可以选择内置发票前缀。
说明 此消息用于确认或取消一个预订单 请求地址 http://api.dc78.cn/Api/bk_state 请求方式 GET 请求参数 参数 参数名称 必填 描述 范例 id 预订单编号 state 状态 目前取值有两个:1,确认预定,-1,取消预订 op 操作员 可选 table 预订桌台 可选 返回 status:1-成功,0-失败 请求方式 INI 请求参数 [action] 描述 ac
登录企业管理-订阅号-找到要编辑的订阅号进行相应操作
问题内容: 我想让我的PHP应用程序标有它使用的修订号,但是我不想使用CruiseControl或更新文件并每次都上传它。我该怎么办? 问题答案: SVN关键字不是一个好的解决方案。正如其他人指出的那样,在文件中添加$ Revision $仅会影响 特定文件 ,该 文件 可能不会长时间更改。 记住在每次提交之前“编辑”文件(通过添加或删除空白行)是没有意义的。您也可以手动输入修订。 做到这一点的一
我正在尝试将svn修订号添加到清单文件中。我的根pom里有这个。xml: 我试图在我的耳朵里加入svn修订版pom.xml: 我没有得到任何版本的MANIFEST文件。知道我做错了什么吗?
我需要将Woocommerce订单号从4位改为5位。我知道我可以用这个来做前缀或后缀 但是我怎样才能更改位数呢?
我有一个项目,我在模型中使用SQLAlchemy,并尝试集成Alembic进行迁移。当我更改模型时,一切都按预期进行,Alembic看到模型已经更改- 但是当我没有改变模型中的任何东西并且我使用相同的命令时: 修订版给我“空”修订版文件,如下所示: 这个文件的目的是什么?当alembic revision--autogenerate看不到任何更改时,我可以阻止创建这个“空文件”吗?要比较使用Dja