Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pronamic/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.
https://github.com/pronamic/wp-pay-core
gateway payment payment-gateway payment-integration payments php php8 psp woocommerce wordpress
Last synced: 16 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/pronamic/wp-pay-core
- Owner: pronamic
- License: gpl-3.0
- Created: 2014-06-25T09:16:30.000Z (over 10 years ago)
- Default Branch: main
- Last Pushed: 2024-10-10T11:26:07.000Z (about 1 month ago)
- Last Synced: 2024-10-16T01:22:15.188Z (about 1 month ago)
- Topics: gateway, payment, payment-gateway, payment-integration, payments, php, php8, psp, woocommerce, wordpress
- Language: PHP
- Homepage: https://www.wp-pay.org/
- Size: 14.4 MB
- Stars: 27
- Watchers: 5
- Forks: 3
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
WordPress Pay » Core
The WordPress payment processing library is intended to make payments and integrations with payment providers easier to set up and maintain within WordPress. It has similarities to libraries like https://github.com/Payum/Payum and https://github.com/thephpleague/omnipay, but is more focused on WordPress. The code complies with the WordPress Coding Standards and the WordPress APIs are used.## Table of contents
- [Status](#status)
- [CLI](#cli)
- [WordPress Filters](#wordpress-filters)## Status
[![Latest Stable Version](https://poser.pugx.org/wp-pay/core/v/stable.svg)](https://packagist.org/packages/wp-pay/core)
[![Total Downloads](https://poser.pugx.org/wp-pay/core/downloads.svg)](https://packagist.org/packages/wp-pay/core)
[![Latest Unstable Version](https://poser.pugx.org/wp-pay/core/v/unstable.svg)](https://packagist.org/packages/wp-pay/core)
[![License](https://poser.pugx.org/wp-pay/core/license.svg)](https://packagist.org/packages/wp-pay/core)
[![Built with Grunt](http://cdn.gruntjs.com/builtwith.svg)](http://gruntjs.com/)## 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
```php
\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
```php
\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
```php
\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
);
```[![Pronamic - Work with us](https://github.com/pronamic/brand-resources/blob/main/banners/pronamic-work-with-us-leaderboard-728x90%404x.png)](https://www.pronamic.eu/contact/)