Wordpress 重力表单:授权.net发票编号

Wordpress 重力表单:授权.net发票编号,wordpress,authorize.net,gravity-forms-plugin,Wordpress,Authorize.net,Gravity Forms Plugin,我想知道您是否知道如何在Authorize.net的表单中添加发票代码 我检查了authorize.net提要设置,但它们不要求提供发票代码。然后,我开始做一些研究,发现可以用来创建发票代码的钩子gform\u authorizenet\u save\u entry\u id 问题是没有关于这个钩子的文档。它只是作为更新之一被提到的。因此,我创建了一个隐藏字段,默认值为{entry\u id},并试图找到将其作为发票号传递的方法 任何帮助都将不胜感激。谢谢:) 更新: 我能够使用以下代码片段向表

我想知道您是否知道如何在Authorize.net的表单中添加发票代码

我检查了authorize.net提要设置,但它们不要求提供发票代码。然后,我开始做一些研究,发现可以用来创建发票代码的钩子
gform\u authorizenet\u save\u entry\u id

问题是没有关于这个钩子的文档。它只是作为更新之一被提到的。因此,我创建了一个隐藏字段,默认值为
{entry\u id}
,并试图找到将其作为发票号传递的方法

任何帮助都将不胜感激。谢谢:)

更新:

我能够使用以下代码片段向表单中添加事务代码

//Adding the transaction code 
add_filter( 'gform_authorizenet_transaction_pre_capture', 'set_invoice_number', 10, 5 );
function set_invoice_number( $transaction, $form_data, $config, $form, $entry ) {
    if ( $form['id'] == 6 ) {

      // your submission ID format to be inserted into the hidden field
      $SubmissionID = 'RW-' . $entry['id'];

      $transaction->invoice_num = $SubmissionID;
    }
    return $transaction;
}

我将发票编号设置为“RW-”,但是$entry['id']没有打印任何内容

您可以通过将以下代码添加到主题的functions.php文件中,使用输入字段指定发票编号:

add_filter('gform_authorizenet_transaction_pre_capture', 'set_invoice_number', 10, 4);
function set_invoice_number($transaction, $form_data, $config, $form)
{
      $transaction->invoice_num = rgpost('input_YOUR INPUT FIELD NUMBER HERE');
}

如果输入字段是包含表单条目id的隐藏字段,该id应满足您的要求。

我使用以下代码将“表单名称”附加到传递给Authorize.net的发票号。我相信,如果您在每个表单中创建的第一个字段是“发票号”字段,那么前面的答案会起作用,但是如果您稍后添加该字段,或者将其添加到您以前创建的表单中,它们不会都具有相同的字段号,因此可能无法工作。此代码将使用自动生成的唯一发票编号并添加表单名称。 i、 e.表格名称:“年度订阅”自动登录号码:“1234567890” 授权.net收到的信息:“1234567890-年度订阅”

我发现,与其在主题文件中添加自定义函数,不如构建一个自定义插件并将它们添加到主题文件中。这样,如果你的主题更新,你就不会失去你的功能。下面包括创建插件的代码以及Authorize.net代码的函数。将此文件另存为My_Custom_Functions_Plugin.php,并将其上载到“wp content/plugins/”文件夹中的web主机,然后将其激活。下次需要添加任何自定义函数时,只需将它们添加到此文件的末尾即可

<?php

/*

Plugin Name: My_Custom_Functions_Plugin

 Plugin URL: http://WEBSITE

 Description: Custom Functions and Scripts for WEBSITE

 Version: 1.0.0

 Author: NAME

 Author URI: http://WEBSITE

*/



// Functions for apending form name to authorize.net invoice

 add_filter( 'gform_authorizenet_transaction_pre_capture', 'invoice_num', 10, 4 );

 function invoice_num( $transaction, $form_data, $config, $form ) {       

 $transaction->invoice_num = uniqid() . '-' . rgar( $form_data, 'form_title' ); 

 gf_authorizenet()->log_debug( 'gform_authorizenet_transaction_pre_capture: ' . print_r( $transaction, 1 ) );

 return $transaction;}

// End of Authorize.net Function



// Add any additional Functions below this comment line to keep your themes functions.php file from getting overwritten on theme updates. Copy and paste this comment line before each function and give it a description to help keep you organized about what your function does 


?>

希望这有帮助