wp-pay-core

Core components for the WordPress payment processing library. This library is used in the WordPress plugin Pronamic Pay: https://www.pronamicpay.com/, but also allows other plugin developers to set up a payment plugin.

GPL-3.0 License

Downloads
107.7K
Stars
27
Committers
5

Table of contents

Status

CLI

Check pending payment status

wp pay payment status $( wp post list --field=ID --post_type=pronamic_payment --post_status=payment_pending --order=ASC --orderby=date --posts_per_page=100 --paged=1 )

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;
	},
	10,
	2
);

pronamic_gateway_configuration_display_value

\add_filter(
	'pronamic_gateway_configuration_display_value',
	function( $display_value, $post_id ) {
		return \get_post_meta( $post_id, '_pronamic_gateway_display_value', true );
	},
	10,
	2
);

pronamic_gateway_configuration_display_value_$id

\add_filter(
	'pronamic_gateway_configuration_display_value_payvision',
	function( $display_value, $post_id ) {
		return \get_post_meta( $post_id, '_pronamic_gateway_payvision_business_id', true );
	},
	10,
	2
);
Package Rankings
Top 4.33% on Packagist.org
Badges
Extracted from project README
Latest Stable Version Total Downloads Latest Unstable Version License Built with Grunt Pronamic - Work with us
Related Projects