### [wpforms_authorize_net_process_transaction](https://wpforms.com/developers/wpforms_authorize_net_process_transaction/)

**Published:** February 16, 2021
**Author:** Editorial Team

**Excerpt:** The wpforms_authorize_net_process_transaction filter is used to set arguments on the Authorize.net payment while processing the form entry for payments. 

**Content:**

## Description

The `wpforms_authorize_net_process_transaction` filter is used to set arguments on the Authorize.net payment sent from WPForms while processing the form entry for payments.

## Parameters

$transaction*(object)* WPForms Authorize.Net Process object.$args*(array)* Single transaction arguments.## Source

`wpforms-authorize-net/src/Api/Api.php`

## More Information

The `wpforms_authorize_net_process_transaction` filter is used to set specific arguments on Authorize.net transaction payments.

Using the `wpforms_authorize_net_process_payment_single_args` filter, you can pull this information from WPForms and use the `wpforms_authorize_net_process_transaction` filter to set those fields on the payment. Address fields, invoice numbers, etc are just a few of the examples.

## Examples

```

/**
 * Filter used to get the address field information.
 *
 * @link  https://wpforms.com/developers/wpforms_authorize_net_process_payment_single_args/
 *
 * @param array   $args    Single payment arguments.
 * @param object  $process WPForms Authorize.Net Process object.
 *
 * @return array
 */

function wpf_dev_authorize_net_process_payment_single_add_fields_to_args( $args, $process ) {

   // Replace 3 in $process->fields[3] to the form id of your address field.
   $args[ 'address' ] = $process->fields[3];

   return $args;
}

add_filter( 'wpforms_authorize_net_process_payment_single_args', 'wpf_dev_authorize_net_process_payment_single_add_fields_to_args', 10, 2 );

/**
 * Set the customer's Bill To address.
 * 
 * @link  https://wpforms.com/developers/wpforms_authorize_net_process_transaction/
 *
 * @param netauthorizeapicontractv1TransactionRequestType $transaction Single transaction object.
 * @param array                                                 $args        Single transaction arguments.
 *
 * @return netauthorizeapicontractv1TransactionRequestType
 */

function wpf_dev_authorize_net_process_transaction_add_address_to_transaction( $transaction, $args ) {

   $bill_to = $transaction->getBillTo();

   if ( is_null( $bill_to ) ) {
      $bill_to = new netauthorizeapicontractv1CustomerAddressType();
   }

   $address = $args[ 'address' ][ 'address1' ];

   if ( ! empty( $args[ 'address' ][ 'address2' ] ) ) {

      $address .= ' ' . $args[ 'address' ][ 'address2' ];

   }

   $bill_to->setAddress( $address );

   $bill_to->setCity( $args[ 'address' ][ 'city' ] );

   $bill_to->setState( $args[ 'address' ][ 'state' ] );

   $bill_to->setZip( $args[ 'address' ][ 'postal' ] );

   $bill_to->setCountry( $args[ 'address' ][ 'country' ] );

   $transaction->setBillTo( $bill_to );

   return $transaction;
}

add_filter( 'wpforms_authorize_net_process_transaction', 'wpf_dev_authorize_net_process_transaction_add_address_to_transaction', 10, 2 );
```

For any assistance in locating your particular field ID, [please check out this tutorial](https://wpforms.com/developers/how-to-locate-form-id-and-field-id/ "How to Locate Form ID and Field ID").

## Related

Filter Reference: [wpforms\_authorize\_net\_process\_payment\_single\_args](https://wpforms.com/developers/wpforms_authorize_net_process_payment_single_args/ "Using the wpforms_authorize_net_process_payment_single_args filter")

Tutorial Reference:

- [How to Send an Invoice Number Through to Authorize.net Payments](https://wpforms.com/developers/how-to-send-an-invoice-number-through-to-authorize-net-payments/ "How to Send an Invoice Number Through to Authorize.net Payments")
- [How to Send the Phone Number to Authorize.net](https://wpforms.com/developers/how-to-send-the-phone-number-to-authorize-net/ "How to Send the Phone Number to Authorize.net")

**Categories:** Filters Hooks

**Tags:** PHP

---

