# Briqpay Signup Wordpress Plugin

## Installation

- Download package
- Upload to wp-content/plugins

## Shortcode usage

```
[briqpay_render_signup]
```

Will Render the briqpay signup where you wish

## Hook Usage

```php
do_action('briqpay_render_signup_form');
```

```php
add_action(
	'init',
	function() {
		add_filter( 'briqpay_signup_completed', 'example_function_to_create_user', 10, 1 );
	}
);

function example_function_to_create_user( $signup_data ) {
	$selected_pass = wp_generate_password();
	$user_id       = wp_insert_user(
		array(
			'user_login'   => $signup_data->user->email,
			'user_pass'    => $selected_pass,
			'user_email'   => $signup_data->user->email,
			'first_name'   => $signup_data->user->firstName,
			'last_name'    => $signup_data->user->lastName,
			'display_name' => $signup_data->user->firstName . ' ' . $signup_data->user->lastName,

		)
	);

	$billing_data = array(
		'first_name'        => $signup_data->user->firstName,
		'last_name'         => $signup_data->user->lastName,
		'billing_city'      => $signup_data->address->city,
		'billing_postcode'  => $signup_data->address->zip,
		'billing_email'     => $signup_data->user->email,
		'billing_phone'     => $signup_data->user->phone,
		'billing_company'   => $signup_data->address->companyname,
		'billing_address_1' => $signup_data->address->streetaddress,
	);
	foreach ( $billing_data as $billing_meta_key => $billing_meta_value ) {
			update_user_meta( $user_id, $billing_meta_key, $billing_meta_value );
	}

}
```

How to validate the user before creating it in woocommerce

```php

add_action(
	'init',
	function() {
		add_filter( 'briqpay_signup_validation', 'example_filter_functon_for_validation', 10, 2 );
	}
);

    function example_filter_functon_for_validation( $validaton, $signup_data ) {

	if ( ! get_user_by( 'email', $signup_data->user->email ) ) {
		$validaton = array(
			'result' => true,
			'errors' => array(),
		);
	} else {
		$validaton = array(
			'result' => false,
			'errors' => array(
				array(
					'errorCode'    => 'already_exists',
					'errorField'   => 'email',
					'errorMessage' => 'Found existing user',
				),
			),
		);
	}
	return $validaton;
}
```
