Skip to content

Core components for the WordPress payment processing library.

Notifications You must be signed in to change notification settings

knit-pay/wp-pay-core

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WordPress Pay » Core

WordPress Pay » Core

Core components for the WordPress payment processing library.

Table of contents

Status

Latest Stable Version Total Downloads Latest Unstable Version License Built with Grunt

WordPress Filters

pronamic_payment_gateway_configuration_id

add_filter(
	'pronamic_payment_gateway_configuration_id',
	/**
	 * Filter the payment gateway configuration ID to use specific 
	 * gateways for certain WooCommerce billing countries.
	 *
	 * @param int     $configuration_id Gateway configuration ID.
	 * @param Payment $payment          The payment resource data.
	 * @return int Gateway configuration ID.
	 */
	function( $configuration_id, $payment ) {
		if ( 'woocommerce' !== $payment->get_source() ) {
			return $configuration_id;
		}

		$billing_address = $payment->get_billing_address();

		if ( null === $billing_address ) {
			return $configuration_id;
		}

		$id = $configuration_id;

		switch ( $billing_address->get_country_code() ) {
			case 'US':
				$id = get_option( 'custom_us_gateway_configuration_id', $id );
				break;
			case 'AU':
				$id = get_option( 'custom_au_gateway_configuration_id', $id );
				break;
		}

		if ( 'pronamic_gateway' === get_post_type( $id ) && 'publish' === get_post_status( $id ) ) {
			$configuration_id = $id;
		}

		return $configuration_id;
	}
);

About

Core components for the WordPress payment processing library.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 73.0%
  • JavaScript 24.6%
  • CSS 2.4%