| @@ -12,180 +12,180 @@ discard block | ||
| 12 | 12 | */ | 
| 13 | 13 |  class GetPaid_Checkout { | 
| 14 | 14 | |
| 15 | - /** | |
| 16 | - * @var GetPaid_Payment_Form_Submission | |
| 17 | - */ | |
| 18 | - protected $payment_form_submission; | |
| 19 | - | |
| 20 | - /** | |
| 21 | - * Class constructor. | |
| 22 | - * | |
| 23 | - * @param GetPaid_Payment_Form_Submission $submission | |
| 24 | - */ | |
| 25 | -	public function __construct( $submission ) { | |
| 26 | - $this->payment_form_submission = $submission; | |
| 27 | - } | |
| 28 | - | |
| 29 | - /** | |
| 30 | - * Processes the checkout. | |
| 31 | - * | |
| 32 | - */ | |
| 33 | -	public function process_checkout() { | |
| 34 | - | |
| 35 | - // Validate the submission. | |
| 36 | - $this->validate_submission(); | |
| 37 | - | |
| 38 | - // Prepare the invoice. | |
| 39 | - $items = $this->get_submission_items(); | |
| 40 | - $invoice = $this->get_submission_invoice(); | |
| 41 | - $invoice = $this->process_submission_invoice( $invoice, $items ); | |
| 42 | - $prepared = $this->prepare_submission_data_for_saving(); | |
| 43 | - | |
| 44 | - $this->prepare_billing_info( $invoice ); | |
| 45 | - | |
| 46 | - $shipping = $this->prepare_shipping_info( $invoice ); | |
| 47 | - | |
| 48 | - // Save the invoice. | |
| 49 | - $invoice->set_is_viewed( true ); | |
| 50 | - $invoice->recalculate_total(); | |
| 15 | + /** | |
| 16 | + * @var GetPaid_Payment_Form_Submission | |
| 17 | + */ | |
| 18 | + protected $payment_form_submission; | |
| 19 | + | |
| 20 | + /** | |
| 21 | + * Class constructor. | |
| 22 | + * | |
| 23 | + * @param GetPaid_Payment_Form_Submission $submission | |
| 24 | + */ | |
| 25 | +    public function __construct( $submission ) { | |
| 26 | + $this->payment_form_submission = $submission; | |
| 27 | + } | |
| 28 | + | |
| 29 | + /** | |
| 30 | + * Processes the checkout. | |
| 31 | + * | |
| 32 | + */ | |
| 33 | +    public function process_checkout() { | |
| 34 | + | |
| 35 | + // Validate the submission. | |
| 36 | + $this->validate_submission(); | |
| 37 | + | |
| 38 | + // Prepare the invoice. | |
| 39 | + $items = $this->get_submission_items(); | |
| 40 | + $invoice = $this->get_submission_invoice(); | |
| 41 | + $invoice = $this->process_submission_invoice( $invoice, $items ); | |
| 42 | + $prepared = $this->prepare_submission_data_for_saving(); | |
| 43 | + | |
| 44 | + $this->prepare_billing_info( $invoice ); | |
| 45 | + | |
| 46 | + $shipping = $this->prepare_shipping_info( $invoice ); | |
| 47 | + | |
| 48 | + // Save the invoice. | |
| 49 | + $invoice->set_is_viewed( true ); | |
| 50 | + $invoice->recalculate_total(); | |
| 51 | 51 | $invoice->save(); | 
| 52 | 52 | |
| 53 | - do_action( 'getpaid_checkout_invoice_updated', $invoice ); | |
| 53 | + do_action( 'getpaid_checkout_invoice_updated', $invoice ); | |
| 54 | 54 | |
| 55 | - // Send to the gateway. | |
| 56 | - $this->post_process_submission( $invoice, $prepared, $shipping ); | |
| 57 | - } | |
| 55 | + // Send to the gateway. | |
| 56 | + $this->post_process_submission( $invoice, $prepared, $shipping ); | |
| 57 | + } | |
| 58 | 58 | |
| 59 | - /** | |
| 60 | - * Validates the submission. | |
| 61 | - * | |
| 62 | - */ | |
| 63 | -	protected function validate_submission() { | |
| 59 | + /** | |
| 60 | + * Validates the submission. | |
| 61 | + * | |
| 62 | + */ | |
| 63 | +    protected function validate_submission() { | |
| 64 | 64 | |
| 65 | - $submission = $this->payment_form_submission; | |
| 66 | - $data = $submission->get_data(); | |
| 65 | + $submission = $this->payment_form_submission; | |
| 66 | + $data = $submission->get_data(); | |
| 67 | 67 | |
| 68 | - // Do we have an error? | |
| 68 | + // Do we have an error? | |
| 69 | 69 |          if ( ! empty( $submission->last_error ) ) { | 
| 70 | - wp_send_json_error( $submission->last_error ); | |
| 70 | + wp_send_json_error( $submission->last_error ); | |
| 71 | 71 | } | 
| 72 | 72 | |
| 73 | - // We need a billing email. | |
| 73 | + // We need a billing email. | |
| 74 | 74 |          if ( ! $submission->has_billing_email() ) { | 
| 75 | 75 | wp_send_json_error( __( 'Provide a valid billing email.', 'invoicing' ) ); | 
| 76 | - } | |
| 76 | + } | |
| 77 | 77 | |
| 78 | - // Non-recurring gateways should not be allowed to process recurring invoices. | |
| 79 | -		if ( $submission->should_collect_payment_details() && $submission->has_recurring && ! wpinv_gateway_support_subscription( $data['wpi-gateway'] ) ) { | |
| 80 | - wp_send_json_error( __( 'The selected payment gateway does not support subscription payments.', 'invoicing' ) ); | |
| 81 | - } | |
| 78 | + // Non-recurring gateways should not be allowed to process recurring invoices. | |
| 79 | +        if ( $submission->should_collect_payment_details() && $submission->has_recurring && ! wpinv_gateway_support_subscription( $data['wpi-gateway'] ) ) { | |
| 80 | + wp_send_json_error( __( 'The selected payment gateway does not support subscription payments.', 'invoicing' ) ); | |
| 81 | + } | |
| 82 | 82 | |
| 83 | - // Ensure the gateway is active. | |
| 84 | -		if ( $submission->should_collect_payment_details() && ! wpinv_is_gateway_active( $data['wpi-gateway'] ) ) { | |
| 85 | - wpinv_set_error( 'invalid_gateway', __( 'The selected payment gateway is not active', 'invoicing' ) ); | |
| 86 | - } | |
| 83 | + // Ensure the gateway is active. | |
| 84 | +        if ( $submission->should_collect_payment_details() && ! wpinv_is_gateway_active( $data['wpi-gateway'] ) ) { | |
| 85 | + wpinv_set_error( 'invalid_gateway', __( 'The selected payment gateway is not active', 'invoicing' ) ); | |
| 86 | + } | |
| 87 | 87 | |
| 88 | - // Clear any existing errors. | |
| 89 | - wpinv_clear_errors(); | |
| 88 | + // Clear any existing errors. | |
| 89 | + wpinv_clear_errors(); | |
| 90 | 90 | |
| 91 | - // Allow themes and plugins to hook to errors | |
| 92 | - do_action( 'getpaid_checkout_error_checks', $submission ); | |
| 91 | + // Allow themes and plugins to hook to errors | |
| 92 | + do_action( 'getpaid_checkout_error_checks', $submission ); | |
| 93 | 93 | |
| 94 | - // Do we have any errors? | |
| 94 | + // Do we have any errors? | |
| 95 | 95 |          if ( wpinv_get_errors() ) { | 
| 96 | 96 | wp_send_json_error( getpaid_get_errors_html() ); | 
| 97 | - } | |
| 97 | + } | |
| 98 | 98 | |
| 99 | - } | |
| 99 | + } | |
| 100 | 100 | |
| 101 | - /** | |
| 102 | - * Retrieves submission items. | |
| 103 | - * | |
| 104 | - * @return GetPaid_Form_Item[] | |
| 105 | - */ | |
| 106 | -	protected function get_submission_items() { | |
| 101 | + /** | |
| 102 | + * Retrieves submission items. | |
| 103 | + * | |
| 104 | + * @return GetPaid_Form_Item[] | |
| 105 | + */ | |
| 106 | +    protected function get_submission_items() { | |
| 107 | 107 | |
| 108 | - $items = $this->payment_form_submission->get_items(); | |
| 108 | + $items = $this->payment_form_submission->get_items(); | |
| 109 | 109 | |
| 110 | 110 | // Ensure that we have items. | 
| 111 | 111 |          if ( empty( $items ) && ! $this->payment_form_submission->has_fees() ) { | 
| 112 | 112 | wp_send_json_error( __( 'Please provide at least one item or amount.', 'invoicing' ) ); | 
| 113 | - } | |
| 114 | - | |
| 115 | - return $items; | |
| 116 | - } | |
| 117 | - | |
| 118 | - /** | |
| 119 | - * Retrieves submission invoice. | |
| 120 | - * | |
| 121 | - * @return WPInv_Invoice | |
| 122 | - */ | |
| 123 | -	protected function get_submission_invoice() { | |
| 124 | - $submission = $this->payment_form_submission; | |
| 125 | - | |
| 126 | -		if ( ! $submission->has_invoice() ) { | |
| 127 | - $invoice = new WPInv_Invoice(); | |
| 128 | - $invoice->created_via( 'payment_form' ); | |
| 129 | - return $invoice; | |
| 130 | 113 | } | 
| 131 | 114 | |
| 132 | - $invoice = $submission->get_invoice(); | |
| 115 | + return $items; | |
| 116 | + } | |
| 133 | 117 | |
| 134 | - // Make sure that it is neither paid or refunded. | |
| 135 | -		if ( $invoice->is_paid() || $invoice->is_refunded() ) { | |
| 136 | - wp_send_json_error( __( 'This invoice has already been paid for.', 'invoicing' ) ); | |
| 137 | - } | |
| 118 | + /** | |
| 119 | + * Retrieves submission invoice. | |
| 120 | + * | |
| 121 | + * @return WPInv_Invoice | |
| 122 | + */ | |
| 123 | +    protected function get_submission_invoice() { | |
| 124 | + $submission = $this->payment_form_submission; | |
| 138 | 125 | |
| 139 | - return $invoice; | |
| 140 | - } | |
| 126 | +        if ( ! $submission->has_invoice() ) { | |
| 127 | + $invoice = new WPInv_Invoice(); | |
| 128 | + $invoice->created_via( 'payment_form' ); | |
| 129 | + return $invoice; | |
| 130 | + } | |
| 141 | 131 | |
| 142 | - /** | |
| 143 | - * Processes the submission invoice. | |
| 144 | - * | |
| 145 | - * @param WPInv_Invoice $invoice | |
| 146 | - * @param GetPaid_Form_Item[] $items | |
| 147 | - * @return WPInv_Invoice | |
| 148 | - */ | |
| 149 | -	protected function process_submission_invoice( $invoice, $items ) { | |
| 132 | + $invoice = $submission->get_invoice(); | |
| 150 | 133 | |
| 151 | - $submission = $this->payment_form_submission; | |
| 152 | - $data = $submission->get_data(); | |
| 134 | + // Make sure that it is neither paid or refunded. | |
| 135 | +        if ( $invoice->is_paid() || $invoice->is_refunded() ) { | |
| 136 | + wp_send_json_error( __( 'This invoice has already been paid for.', 'invoicing' ) ); | |
| 137 | + } | |
| 138 | + | |
| 139 | + return $invoice; | |
| 140 | + } | |
| 141 | + | |
| 142 | + /** | |
| 143 | + * Processes the submission invoice. | |
| 144 | + * | |
| 145 | + * @param WPInv_Invoice $invoice | |
| 146 | + * @param GetPaid_Form_Item[] $items | |
| 147 | + * @return WPInv_Invoice | |
| 148 | + */ | |
| 149 | +    protected function process_submission_invoice( $invoice, $items ) { | |
| 153 | 150 | |
| 154 | - // Set-up the invoice details. | |
| 155 | - $invoice->set_email( sanitize_email( $submission->get_billing_email() ) ); | |
| 156 | - $invoice->set_user_id( $this->get_submission_customer() ); | |
| 157 | - $invoice->set_payment_form( absint( $submission->get_payment_form()->get_id() ) ); | |
| 151 | + $submission = $this->payment_form_submission; | |
| 152 | + $data = $submission->get_data(); | |
| 153 | + | |
| 154 | + // Set-up the invoice details. | |
| 155 | + $invoice->set_email( sanitize_email( $submission->get_billing_email() ) ); | |
| 156 | + $invoice->set_user_id( $this->get_submission_customer() ); | |
| 157 | + $invoice->set_payment_form( absint( $submission->get_payment_form()->get_id() ) ); | |
| 158 | 158 | $invoice->set_items( $items ); | 
| 159 | 159 | $invoice->set_fees( $submission->get_fees() ); | 
| 160 | 160 | $invoice->set_taxes( $submission->get_taxes() ); | 
| 161 | - $invoice->set_discounts( $submission->get_discounts() ); | |
| 162 | - $invoice->set_gateway( $data['wpi-gateway'] ); | |
| 161 | + $invoice->set_discounts( $submission->get_discounts() ); | |
| 162 | + $invoice->set_gateway( $data['wpi-gateway'] ); | |
| 163 | 163 | |
| 164 | - $address_confirmed = $submission->get_field( 'confirm-address' ); | |
| 165 | - $invoice->set_address_confirmed( ! empty( $address_confirmed ) ); | |
| 164 | + $address_confirmed = $submission->get_field( 'confirm-address' ); | |
| 165 | + $invoice->set_address_confirmed( ! empty( $address_confirmed ) ); | |
| 166 | 166 | |
| 167 | -		if ( $submission->has_discount_code() ) { | |
| 167 | +        if ( $submission->has_discount_code() ) { | |
| 168 | 168 | $invoice->set_discount_code( $submission->get_discount_code() ); | 
| 169 | - } | |
| 170 | - | |
| 171 | - getpaid_maybe_add_default_address( $invoice ); | |
| 172 | - return $invoice; | |
| 173 | - } | |
| 174 | - | |
| 175 | - /** | |
| 176 | - * Retrieves the submission's customer. | |
| 177 | - * | |
| 178 | - * @return int The customer id. | |
| 179 | - */ | |
| 180 | -	protected function get_submission_customer() { | |
| 181 | - $submission = $this->payment_form_submission; | |
| 182 | - | |
| 183 | - // If this is an existing invoice... | |
| 184 | -		if ( $submission->has_invoice() ) { | |
| 185 | - return $submission->get_invoice()->get_user_id(); | |
| 186 | - } | |
| 187 | - | |
| 188 | - // (Maybe) create the user. | |
| 169 | + } | |
| 170 | + | |
| 171 | + getpaid_maybe_add_default_address( $invoice ); | |
| 172 | + return $invoice; | |
| 173 | + } | |
| 174 | + | |
| 175 | + /** | |
| 176 | + * Retrieves the submission's customer. | |
| 177 | + * | |
| 178 | + * @return int The customer id. | |
| 179 | + */ | |
| 180 | +    protected function get_submission_customer() { | |
| 181 | + $submission = $this->payment_form_submission; | |
| 182 | + | |
| 183 | + // If this is an existing invoice... | |
| 184 | +        if ( $submission->has_invoice() ) { | |
| 185 | + return $submission->get_invoice()->get_user_id(); | |
| 186 | + } | |
| 187 | + | |
| 188 | + // (Maybe) create the user. | |
| 189 | 189 | $user = get_current_user_id(); | 
| 190 | 190 | |
| 191 | 191 |          if ( empty( $user ) ) { | 
| @@ -202,31 +202,31 @@ discard block | ||
| 202 | 202 | |
| 203 | 203 |          if ( is_numeric( $user ) ) { | 
| 204 | 204 | return $user; | 
| 205 | - } | |
| 205 | + } | |
| 206 | 206 | |
| 207 | - return $user->ID; | |
| 207 | + return $user->ID; | |
| 208 | 208 | |
| 209 | - } | |
| 209 | + } | |
| 210 | 210 | |
| 211 | - /** | |
| 211 | + /** | |
| 212 | 212 | * Prepares submission data for saving to the database. | 
| 213 | 213 | * | 
| 214 | - * @return array | |
| 214 | + * @return array | |
| 215 | 215 | */ | 
| 216 | 216 |      public function prepare_submission_data_for_saving() { | 
| 217 | 217 | |
| 218 | - $submission = $this->payment_form_submission; | |
| 218 | + $submission = $this->payment_form_submission; | |
| 219 | 219 | |
| 220 | - // Prepared submission details. | |
| 220 | + // Prepared submission details. | |
| 221 | 221 | $prepared = array(); | 
| 222 | 222 | |
| 223 | 223 | // Raw submission details. | 
| 224 | - $data = $submission->get_data(); | |
| 224 | + $data = $submission->get_data(); | |
| 225 | 225 | |
| 226 | - // Loop through the submitted details. | |
| 226 | + // Loop through the submitted details. | |
| 227 | 227 |          foreach ( $submission->get_payment_form()->get_elements() as $field ) { | 
| 228 | 228 | |
| 229 | - // Skip premade fields. | |
| 229 | + // Skip premade fields. | |
| 230 | 230 |              if ( ! empty( $field['premade'] ) || $field['type'] == 'address' ) { | 
| 231 | 231 | continue; | 
| 232 | 232 | } | 
| @@ -244,176 +244,176 @@ discard block | ||
| 244 | 244 | $label = $field['label']; | 
| 245 | 245 | } | 
| 246 | 246 | |
| 247 | - $prepared[ wpinv_clean( $label ) ] = wp_kses_post( $data[ $field['id'] ] ); | |
| 247 | + $prepared[ wpinv_clean( $label ) ] = wp_kses_post( $data[ $field['id'] ] ); | |
| 248 | 248 | |
| 249 | 249 | } | 
| 250 | 250 | |
| 251 | - } | |
| 251 | + } | |
| 252 | 252 | |
| 253 | - return $prepared; | |
| 253 | + return $prepared; | |
| 254 | 254 | |
| 255 | - } | |
| 255 | + } | |
| 256 | 256 | |
| 257 | - /** | |
| 257 | + /** | |
| 258 | 258 | * Retrieves address details. | 
| 259 | 259 | * | 
| 260 | - * @return array | |
| 261 | - * @param WPInv_Invoice $invoice | |
| 262 | - * @param string $type | |
| 260 | + * @return array | |
| 261 | + * @param WPInv_Invoice $invoice | |
| 262 | + * @param string $type | |
| 263 | 263 | */ | 
| 264 | 264 |      public function prepare_address_details( $invoice, $type = 'billing' ) { | 
| 265 | 265 | |
| 266 | - $data = $this->payment_form_submission->get_data(); | |
| 267 | - $type = sanitize_key( $type ); | |
| 268 | - $address = array(); | |
| 269 | - $prepared = array(); | |
| 266 | + $data = $this->payment_form_submission->get_data(); | |
| 267 | + $type = sanitize_key( $type ); | |
| 268 | + $address = array(); | |
| 269 | + $prepared = array(); | |
| 270 | 270 | |
| 271 | -		if ( ! empty( $data[ $type ] ) ) { | |
| 272 | - $address = $data[ $type ]; | |
| 273 | - } | |
| 271 | +        if ( ! empty( $data[ $type ] ) ) { | |
| 272 | + $address = $data[ $type ]; | |
| 273 | + } | |
| 274 | 274 | |
| 275 | - // Clean address details. | |
| 276 | -		foreach ( $address as $key => $value ) { | |
| 277 | - $key = sanitize_key( $key ); | |
| 278 | - $key = str_replace( 'wpinv_', '', $key ); | |
| 279 | - $value = wpinv_clean( $value ); | |
| 280 | -			$prepared[ $key] = apply_filters( "getpaid_checkout_{$type}_address_$key", $value, $this->payment_form_submission, $invoice ); | |
| 281 | - } | |
| 275 | + // Clean address details. | |
| 276 | +        foreach ( $address as $key => $value ) { | |
| 277 | + $key = sanitize_key( $key ); | |
| 278 | + $key = str_replace( 'wpinv_', '', $key ); | |
| 279 | + $value = wpinv_clean( $value ); | |
| 280 | +            $prepared[ $key] = apply_filters( "getpaid_checkout_{$type}_address_$key", $value, $this->payment_form_submission, $invoice ); | |
| 281 | + } | |
| 282 | 282 | |
| 283 | - // Filter address details. | |
| 284 | -		$prepared = apply_filters( "getpaid_checkout_{$type}_address", $prepared, $this->payment_form_submission, $invoice ); | |
| 283 | + // Filter address details. | |
| 284 | +        $prepared = apply_filters( "getpaid_checkout_{$type}_address", $prepared, $this->payment_form_submission, $invoice ); | |
| 285 | 285 | |
| 286 | - // Remove non-whitelisted values. | |
| 287 | - return array_filter( $prepared, 'getpaid_is_address_field_whitelisted', ARRAY_FILTER_USE_KEY ); | |
| 286 | + // Remove non-whitelisted values. | |
| 287 | + return array_filter( $prepared, 'getpaid_is_address_field_whitelisted', ARRAY_FILTER_USE_KEY ); | |
| 288 | 288 | |
| 289 | - } | |
| 289 | + } | |
| 290 | 290 | |
| 291 | - /** | |
| 291 | + /** | |
| 292 | 292 | * Prepares the billing details. | 
| 293 | 293 | * | 
| 294 | - * @return array | |
| 295 | - * @param WPInv_Invoice $invoice | |
| 294 | + * @return array | |
| 295 | + * @param WPInv_Invoice $invoice | |
| 296 | 296 | */ | 
| 297 | 297 |      protected function prepare_billing_info( &$invoice ) { | 
| 298 | 298 | |
| 299 | - $billing_address = $this->prepare_address_details( $invoice, 'billing' ); | |
| 299 | + $billing_address = $this->prepare_address_details( $invoice, 'billing' ); | |
| 300 | 300 | |
| 301 | - // Update the invoice with the billing details. | |
| 302 | - $invoice->set_props( $billing_address ); | |
| 301 | + // Update the invoice with the billing details. | |
| 302 | + $invoice->set_props( $billing_address ); | |
| 303 | 303 | |
| 304 | - } | |
| 304 | + } | |
| 305 | 305 | |
| 306 | - /** | |
| 306 | + /** | |
| 307 | 307 | * Prepares the shipping details. | 
| 308 | 308 | * | 
| 309 | - * @return array | |
| 310 | - * @param WPInv_Invoice $invoice | |
| 309 | + * @return array | |
| 310 | + * @param WPInv_Invoice $invoice | |
| 311 | 311 | */ | 
| 312 | 312 |      protected function prepare_shipping_info( $invoice ) { | 
| 313 | 313 | |
| 314 | - $data = $this->payment_form_submission->get_data(); | |
| 314 | + $data = $this->payment_form_submission->get_data(); | |
| 315 | 315 | |
| 316 | -		if ( empty( $data['same-shipping-address'] ) ) { | |
| 317 | - return $this->prepare_address_details( $invoice, 'shipping' ); | |
| 318 | - } | |
| 316 | +        if ( empty( $data['same-shipping-address'] ) ) { | |
| 317 | + return $this->prepare_address_details( $invoice, 'shipping' ); | |
| 318 | + } | |
| 319 | 319 | |
| 320 | - return $this->prepare_address_details( $invoice, 'billing' ); | |
| 320 | + return $this->prepare_address_details( $invoice, 'billing' ); | |
| 321 | 321 | |
| 322 | - } | |
| 322 | + } | |
| 323 | 323 | |
| 324 | - /** | |
| 325 | - * Confirms the submission is valid and send users to the gateway. | |
| 326 | - * | |
| 327 | - * @param WPInv_Invoice $invoice | |
| 328 | - * @param array $prepared_payment_form_data | |
| 329 | - * @param array $shipping | |
| 330 | - */ | |
| 331 | -	protected function post_process_submission( $invoice, $prepared_payment_form_data, $shipping ) { | |
| 324 | + /** | |
| 325 | + * Confirms the submission is valid and send users to the gateway. | |
| 326 | + * | |
| 327 | + * @param WPInv_Invoice $invoice | |
| 328 | + * @param array $prepared_payment_form_data | |
| 329 | + * @param array $shipping | |
| 330 | + */ | |
| 331 | +    protected function post_process_submission( $invoice, $prepared_payment_form_data, $shipping ) { | |
| 332 | 332 | |
| 333 | - // Ensure the invoice exists. | |
| 333 | + // Ensure the invoice exists. | |
| 334 | 334 |          if ( ! $invoice->exists() ) { | 
| 335 | 335 | wp_send_json_error( __( 'An error occured while saving your invoice. Please try again.', 'invoicing' ) ); | 
| 336 | 336 | } | 
| 337 | 337 | |
| 338 | - // Save payment form data. | |
| 339 | - $prepared_payment_form_data = apply_filters( 'getpaid_prepared_payment_form_data', $prepared_payment_form_data, $invoice ); | |
| 338 | + // Save payment form data. | |
| 339 | + $prepared_payment_form_data = apply_filters( 'getpaid_prepared_payment_form_data', $prepared_payment_form_data, $invoice ); | |
| 340 | 340 |          if ( ! empty( $prepared_payment_form_data ) ) { | 
| 341 | 341 | update_post_meta( $invoice->get_id(), 'payment_form_data', $prepared_payment_form_data ); | 
| 342 | - } | |
| 342 | + } | |
| 343 | 343 | |
| 344 | - // Save payment form data. | |
| 344 | + // Save payment form data. | |
| 345 | 345 |          if ( ! empty( $shipping ) ) { | 
| 346 | 346 | update_post_meta( $invoice->get_id(), 'shipping_address', $shipping ); | 
| 347 | - } | |
| 347 | + } | |
| 348 | 348 | |
| 349 | - // Backwards compatibility. | |
| 349 | + // Backwards compatibility. | |
| 350 | 350 | add_filter( 'wp_redirect', array( $this, 'send_redirect_response' ) ); | 
| 351 | 351 | |
| 352 | - $this->process_payment( $invoice ); | |
| 352 | + $this->process_payment( $invoice ); | |
| 353 | 353 | |
| 354 | 354 | // If we are here, there was an error. | 
| 355 | - wpinv_send_back_to_checkout( $invoice ); | |
| 355 | + wpinv_send_back_to_checkout( $invoice ); | |
| 356 | 356 | |
| 357 | - } | |
| 357 | + } | |
| 358 | 358 | |
| 359 | - /** | |
| 360 | - * Processes the actual payment. | |
| 361 | - * | |
| 362 | - * @param WPInv_Invoice $invoice | |
| 363 | - */ | |
| 364 | -	protected function process_payment( $invoice ) { | |
| 359 | + /** | |
| 360 | + * Processes the actual payment. | |
| 361 | + * | |
| 362 | + * @param WPInv_Invoice $invoice | |
| 363 | + */ | |
| 364 | +    protected function process_payment( $invoice ) { | |
| 365 | 365 | |
| 366 | - // Clear any checkout errors. | |
| 367 | - wpinv_clear_errors(); | |
| 366 | + // Clear any checkout errors. | |
| 367 | + wpinv_clear_errors(); | |
| 368 | 368 | |
| 369 | - // No need to send free invoices to the gateway. | |
| 370 | -		if ( $invoice->is_free() ) { | |
| 371 | - $this->process_free_payment( $invoice ); | |
| 372 | - } | |
| 369 | + // No need to send free invoices to the gateway. | |
| 370 | +        if ( $invoice->is_free() ) { | |
| 371 | + $this->process_free_payment( $invoice ); | |
| 372 | + } | |
| 373 | 373 | |
| 374 | - $submission = $this->payment_form_submission; | |
| 374 | + $submission = $this->payment_form_submission; | |
| 375 | 375 | |
| 376 | - // Fires before sending to the gateway. | |
| 377 | - do_action( 'getpaid_checkout_before_gateway', $invoice, $submission ); | |
| 376 | + // Fires before sending to the gateway. | |
| 377 | + do_action( 'getpaid_checkout_before_gateway', $invoice, $submission ); | |
| 378 | 378 | |
| 379 | - // Allow the sumission data to be modified before it is sent to the gateway. | |
| 380 | - $submission_data = $submission->get_data(); | |
| 381 | - $submission_gateway = apply_filters( 'getpaid_gateway_submission_gateway', $invoice->get_gateway(), $submission, $invoice ); | |
| 382 | - $submission_data = apply_filters( 'getpaid_gateway_submission_data', $submission_data, $submission, $invoice ); | |
| 379 | + // Allow the sumission data to be modified before it is sent to the gateway. | |
| 380 | + $submission_data = $submission->get_data(); | |
| 381 | + $submission_gateway = apply_filters( 'getpaid_gateway_submission_gateway', $invoice->get_gateway(), $submission, $invoice ); | |
| 382 | + $submission_data = apply_filters( 'getpaid_gateway_submission_data', $submission_data, $submission, $invoice ); | |
| 383 | 383 | |
| 384 | - // Validate the currency. | |
| 385 | -		if ( ! apply_filters( "getpaid_gateway_{$submission_gateway}_is_valid_for_currency", true, $invoice->get_currency() ) ) { | |
| 386 | - wpinv_set_error( 'invalid_currency', __( 'The chosen payment gateway does not support this currency', 'invoicing' ) ); | |
| 387 | - } | |
| 384 | + // Validate the currency. | |
| 385 | +        if ( ! apply_filters( "getpaid_gateway_{$submission_gateway}_is_valid_for_currency", true, $invoice->get_currency() ) ) { | |
| 386 | + wpinv_set_error( 'invalid_currency', __( 'The chosen payment gateway does not support this currency', 'invoicing' ) ); | |
| 387 | + } | |
| 388 | 388 | |
| 389 | - // Check to see if we have any errors. | |
| 390 | -		if ( wpinv_get_errors() ) { | |
| 391 | - wpinv_send_back_to_checkout( $invoice ); | |
| 392 | - } | |
| 389 | + // Check to see if we have any errors. | |
| 390 | +        if ( wpinv_get_errors() ) { | |
| 391 | + wpinv_send_back_to_checkout( $invoice ); | |
| 392 | + } | |
| 393 | 393 | |
| 394 | - // Send info to the gateway for payment processing | |
| 395 | - do_action( "getpaid_gateway_$submission_gateway", $invoice, $submission_data, $submission ); | |
| 394 | + // Send info to the gateway for payment processing | |
| 395 | + do_action( "getpaid_gateway_$submission_gateway", $invoice, $submission_data, $submission ); | |
| 396 | 396 | |
| 397 | - // Backwards compatibility. | |
| 398 | - wpinv_send_to_gateway( $submission_gateway, $invoice ); | |
| 397 | + // Backwards compatibility. | |
| 398 | + wpinv_send_to_gateway( $submission_gateway, $invoice ); | |
| 399 | 399 | |
| 400 | - } | |
| 400 | + } | |
| 401 | 401 | |
| 402 | - /** | |
| 403 | - * Marks the invoice as paid in case the checkout is free. | |
| 404 | - * | |
| 405 | - * @param WPInv_Invoice $invoice | |
| 406 | - */ | |
| 407 | -	protected function process_free_payment( $invoice ) { | |
| 402 | + /** | |
| 403 | + * Marks the invoice as paid in case the checkout is free. | |
| 404 | + * | |
| 405 | + * @param WPInv_Invoice $invoice | |
| 406 | + */ | |
| 407 | +    protected function process_free_payment( $invoice ) { | |
| 408 | 408 | |
| 409 | - $invoice->set_gateway( 'none' ); | |
| 410 | - $invoice->add_note( __( "This is a free invoice and won't be sent to the payment gateway", 'invoicing' ), false, false, true ); | |
| 411 | - $invoice->mark_paid(); | |
| 412 | - wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); | |
| 409 | + $invoice->set_gateway( 'none' ); | |
| 410 | + $invoice->add_note( __( "This is a free invoice and won't be sent to the payment gateway", 'invoicing' ), false, false, true ); | |
| 411 | + $invoice->mark_paid(); | |
| 412 | + wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); | |
| 413 | 413 | |
| 414 | - } | |
| 414 | + } | |
| 415 | 415 | |
| 416 | - /** | |
| 416 | + /** | |
| 417 | 417 | * Sends a redrect response to payment details. | 
| 418 | 418 | * | 
| 419 | 419 | */ | 
| @@ -4,7 +4,7 @@ discard block | ||
| 4 | 4 | * | 
| 5 | 5 | */ | 
| 6 | 6 | |
| 7 | -defined( 'ABSPATH' ) || exit; | |
| 7 | +defined('ABSPATH') || exit; | |
| 8 | 8 | |
| 9 | 9 | /** | 
| 10 | 10 | * Main Checkout Class. | 
| @@ -22,7 +22,7 @@ discard block | ||
| 22 | 22 | * | 
| 23 | 23 | * @param GetPaid_Payment_Form_Submission $submission | 
| 24 | 24 | */ | 
| 25 | -	public function __construct( $submission ) { | |
| 25 | +	public function __construct($submission) { | |
| 26 | 26 | $this->payment_form_submission = $submission; | 
| 27 | 27 | } | 
| 28 | 28 | |
| @@ -38,22 +38,22 @@ discard block | ||
| 38 | 38 | // Prepare the invoice. | 
| 39 | 39 | $items = $this->get_submission_items(); | 
| 40 | 40 | $invoice = $this->get_submission_invoice(); | 
| 41 | - $invoice = $this->process_submission_invoice( $invoice, $items ); | |
| 41 | + $invoice = $this->process_submission_invoice($invoice, $items); | |
| 42 | 42 | $prepared = $this->prepare_submission_data_for_saving(); | 
| 43 | 43 | |
| 44 | - $this->prepare_billing_info( $invoice ); | |
| 44 | + $this->prepare_billing_info($invoice); | |
| 45 | 45 | |
| 46 | - $shipping = $this->prepare_shipping_info( $invoice ); | |
| 46 | + $shipping = $this->prepare_shipping_info($invoice); | |
| 47 | 47 | |
| 48 | 48 | // Save the invoice. | 
| 49 | - $invoice->set_is_viewed( true ); | |
| 49 | + $invoice->set_is_viewed(true); | |
| 50 | 50 | $invoice->recalculate_total(); | 
| 51 | 51 | $invoice->save(); | 
| 52 | 52 | |
| 53 | - do_action( 'getpaid_checkout_invoice_updated', $invoice ); | |
| 53 | +		do_action('getpaid_checkout_invoice_updated', $invoice); | |
| 54 | 54 | |
| 55 | 55 | // Send to the gateway. | 
| 56 | - $this->post_process_submission( $invoice, $prepared, $shipping ); | |
| 56 | + $this->post_process_submission($invoice, $prepared, $shipping); | |
| 57 | 57 | } | 
| 58 | 58 | |
| 59 | 59 | /** | 
| @@ -66,34 +66,34 @@ discard block | ||
| 66 | 66 | $data = $submission->get_data(); | 
| 67 | 67 | |
| 68 | 68 | // Do we have an error? | 
| 69 | -        if ( ! empty( $submission->last_error ) ) { | |
| 70 | - wp_send_json_error( $submission->last_error ); | |
| 69 | +        if (!empty($submission->last_error)) { | |
| 70 | + wp_send_json_error($submission->last_error); | |
| 71 | 71 | } | 
| 72 | 72 | |
| 73 | 73 | // We need a billing email. | 
| 74 | -        if ( ! $submission->has_billing_email() ) { | |
| 75 | - wp_send_json_error( __( 'Provide a valid billing email.', 'invoicing' ) ); | |
| 74 | +        if (!$submission->has_billing_email()) { | |
| 75 | +            wp_send_json_error(__('Provide a valid billing email.', 'invoicing')); | |
| 76 | 76 | } | 
| 77 | 77 | |
| 78 | 78 | // Non-recurring gateways should not be allowed to process recurring invoices. | 
| 79 | -		if ( $submission->should_collect_payment_details() && $submission->has_recurring && ! wpinv_gateway_support_subscription( $data['wpi-gateway'] ) ) { | |
| 80 | - wp_send_json_error( __( 'The selected payment gateway does not support subscription payments.', 'invoicing' ) ); | |
| 79 | +		if ($submission->should_collect_payment_details() && $submission->has_recurring && !wpinv_gateway_support_subscription($data['wpi-gateway'])) { | |
| 80 | +			wp_send_json_error(__('The selected payment gateway does not support subscription payments.', 'invoicing')); | |
| 81 | 81 | } | 
| 82 | 82 | |
| 83 | 83 | // Ensure the gateway is active. | 
| 84 | -		if ( $submission->should_collect_payment_details() && ! wpinv_is_gateway_active( $data['wpi-gateway'] ) ) { | |
| 85 | - wpinv_set_error( 'invalid_gateway', __( 'The selected payment gateway is not active', 'invoicing' ) ); | |
| 84 | +		if ($submission->should_collect_payment_details() && !wpinv_is_gateway_active($data['wpi-gateway'])) { | |
| 85 | +			wpinv_set_error('invalid_gateway', __('The selected payment gateway is not active', 'invoicing')); | |
| 86 | 86 | } | 
| 87 | 87 | |
| 88 | 88 | // Clear any existing errors. | 
| 89 | 89 | wpinv_clear_errors(); | 
| 90 | 90 | |
| 91 | 91 | // Allow themes and plugins to hook to errors | 
| 92 | - do_action( 'getpaid_checkout_error_checks', $submission ); | |
| 92 | +		do_action('getpaid_checkout_error_checks', $submission); | |
| 93 | 93 | |
| 94 | 94 | // Do we have any errors? | 
| 95 | -        if ( wpinv_get_errors() ) { | |
| 96 | - wp_send_json_error( getpaid_get_errors_html() ); | |
| 95 | +        if (wpinv_get_errors()) { | |
| 96 | + wp_send_json_error(getpaid_get_errors_html()); | |
| 97 | 97 | } | 
| 98 | 98 | |
| 99 | 99 | } | 
| @@ -108,8 +108,8 @@ discard block | ||
| 108 | 108 | $items = $this->payment_form_submission->get_items(); | 
| 109 | 109 | |
| 110 | 110 | // Ensure that we have items. | 
| 111 | -        if ( empty( $items ) && ! $this->payment_form_submission->has_fees() ) { | |
| 112 | - wp_send_json_error( __( 'Please provide at least one item or amount.', 'invoicing' ) ); | |
| 111 | +        if (empty($items) && !$this->payment_form_submission->has_fees()) { | |
| 112 | +            wp_send_json_error(__('Please provide at least one item or amount.', 'invoicing')); | |
| 113 | 113 | } | 
| 114 | 114 | |
| 115 | 115 | return $items; | 
| @@ -123,17 +123,17 @@ discard block | ||
| 123 | 123 |  	protected function get_submission_invoice() { | 
| 124 | 124 | $submission = $this->payment_form_submission; | 
| 125 | 125 | |
| 126 | -		if ( ! $submission->has_invoice() ) { | |
| 126 | +		if (!$submission->has_invoice()) { | |
| 127 | 127 | $invoice = new WPInv_Invoice(); | 
| 128 | - $invoice->created_via( 'payment_form' ); | |
| 128 | +			$invoice->created_via('payment_form'); | |
| 129 | 129 | return $invoice; | 
| 130 | 130 | } | 
| 131 | 131 | |
| 132 | 132 | $invoice = $submission->get_invoice(); | 
| 133 | 133 | |
| 134 | 134 | // Make sure that it is neither paid or refunded. | 
| 135 | -		if ( $invoice->is_paid() || $invoice->is_refunded() ) { | |
| 136 | - wp_send_json_error( __( 'This invoice has already been paid for.', 'invoicing' ) ); | |
| 135 | +		if ($invoice->is_paid() || $invoice->is_refunded()) { | |
| 136 | +			wp_send_json_error(__('This invoice has already been paid for.', 'invoicing')); | |
| 137 | 137 | } | 
| 138 | 138 | |
| 139 | 139 | return $invoice; | 
| @@ -146,29 +146,29 @@ discard block | ||
| 146 | 146 | * @param GetPaid_Form_Item[] $items | 
| 147 | 147 | * @return WPInv_Invoice | 
| 148 | 148 | */ | 
| 149 | -	protected function process_submission_invoice( $invoice, $items ) { | |
| 149 | +	protected function process_submission_invoice($invoice, $items) { | |
| 150 | 150 | |
| 151 | 151 | $submission = $this->payment_form_submission; | 
| 152 | 152 | $data = $submission->get_data(); | 
| 153 | 153 | |
| 154 | 154 | // Set-up the invoice details. | 
| 155 | - $invoice->set_email( sanitize_email( $submission->get_billing_email() ) ); | |
| 156 | - $invoice->set_user_id( $this->get_submission_customer() ); | |
| 157 | - $invoice->set_payment_form( absint( $submission->get_payment_form()->get_id() ) ); | |
| 158 | - $invoice->set_items( $items ); | |
| 159 | - $invoice->set_fees( $submission->get_fees() ); | |
| 160 | - $invoice->set_taxes( $submission->get_taxes() ); | |
| 161 | - $invoice->set_discounts( $submission->get_discounts() ); | |
| 162 | - $invoice->set_gateway( $data['wpi-gateway'] ); | |
| 163 | - | |
| 164 | - $address_confirmed = $submission->get_field( 'confirm-address' ); | |
| 165 | - $invoice->set_address_confirmed( ! empty( $address_confirmed ) ); | |
| 166 | - | |
| 167 | -		if ( $submission->has_discount_code() ) { | |
| 168 | - $invoice->set_discount_code( $submission->get_discount_code() ); | |
| 155 | + $invoice->set_email(sanitize_email($submission->get_billing_email())); | |
| 156 | + $invoice->set_user_id($this->get_submission_customer()); | |
| 157 | + $invoice->set_payment_form(absint($submission->get_payment_form()->get_id())); | |
| 158 | + $invoice->set_items($items); | |
| 159 | + $invoice->set_fees($submission->get_fees()); | |
| 160 | + $invoice->set_taxes($submission->get_taxes()); | |
| 161 | + $invoice->set_discounts($submission->get_discounts()); | |
| 162 | + $invoice->set_gateway($data['wpi-gateway']); | |
| 163 | + | |
| 164 | +		$address_confirmed = $submission->get_field('confirm-address'); | |
| 165 | + $invoice->set_address_confirmed(!empty($address_confirmed)); | |
| 166 | + | |
| 167 | +		if ($submission->has_discount_code()) { | |
| 168 | + $invoice->set_discount_code($submission->get_discount_code()); | |
| 169 | 169 | } | 
| 170 | 170 | |
| 171 | - getpaid_maybe_add_default_address( $invoice ); | |
| 171 | + getpaid_maybe_add_default_address($invoice); | |
| 172 | 172 | return $invoice; | 
| 173 | 173 | } | 
| 174 | 174 | |
| @@ -181,26 +181,26 @@ discard block | ||
| 181 | 181 | $submission = $this->payment_form_submission; | 
| 182 | 182 | |
| 183 | 183 | // If this is an existing invoice... | 
| 184 | -		if ( $submission->has_invoice() ) { | |
| 184 | +		if ($submission->has_invoice()) { | |
| 185 | 185 | return $submission->get_invoice()->get_user_id(); | 
| 186 | 186 | } | 
| 187 | 187 | |
| 188 | 188 | // (Maybe) create the user. | 
| 189 | 189 | $user = get_current_user_id(); | 
| 190 | 190 | |
| 191 | -        if ( empty( $user ) ) { | |
| 192 | - $user = get_user_by( 'email', $submission->get_billing_email() ); | |
| 191 | +        if (empty($user)) { | |
| 192 | +            $user = get_user_by('email', $submission->get_billing_email()); | |
| 193 | 193 | } | 
| 194 | 194 | |
| 195 | -        if ( empty( $user ) ) { | |
| 196 | - $user = wpinv_create_user( $submission->get_billing_email() ); | |
| 195 | +        if (empty($user)) { | |
| 196 | + $user = wpinv_create_user($submission->get_billing_email()); | |
| 197 | 197 | } | 
| 198 | 198 | |
| 199 | -        if ( is_wp_error( $user ) ) { | |
| 200 | - wp_send_json_error( $user->get_error_message() ); | |
| 199 | +        if (is_wp_error($user)) { | |
| 200 | + wp_send_json_error($user->get_error_message()); | |
| 201 | 201 | } | 
| 202 | 202 | |
| 203 | -        if ( is_numeric( $user ) ) { | |
| 203 | +        if (is_numeric($user)) { | |
| 204 | 204 | return $user; | 
| 205 | 205 | } | 
| 206 | 206 | |
| @@ -221,30 +221,30 @@ discard block | ||
| 221 | 221 | $prepared = array(); | 
| 222 | 222 | |
| 223 | 223 | // Raw submission details. | 
| 224 | - $data = $submission->get_data(); | |
| 224 | + $data = $submission->get_data(); | |
| 225 | 225 | |
| 226 | 226 | // Loop through the submitted details. | 
| 227 | -        foreach ( $submission->get_payment_form()->get_elements() as $field ) { | |
| 227 | +        foreach ($submission->get_payment_form()->get_elements() as $field) { | |
| 228 | 228 | |
| 229 | 229 | // Skip premade fields. | 
| 230 | -            if ( ! empty( $field['premade'] ) || $field['type'] == 'address' ) { | |
| 230 | +            if (!empty($field['premade']) || $field['type'] == 'address') { | |
| 231 | 231 | continue; | 
| 232 | 232 | } | 
| 233 | 233 | |
| 234 | 234 | // If it is required and not set, abort. | 
| 235 | -            if ( ! $submission->is_required_field_set( $field ) ) { | |
| 236 | - wp_send_json_error( __( 'Please fill all required fields.', 'invoicing' ) ); | |
| 235 | +            if (!$submission->is_required_field_set($field)) { | |
| 236 | +                wp_send_json_error(__('Please fill all required fields.', 'invoicing')); | |
| 237 | 237 | } | 
| 238 | 238 | |
| 239 | 239 | // Handle misc fields. | 
| 240 | -            if ( isset( $data[ $field['id'] ] ) ) { | |
| 240 | +            if (isset($data[$field['id']])) { | |
| 241 | 241 | $label = $field['id']; | 
| 242 | 242 | |
| 243 | -                if ( isset( $field['label'] ) ) { | |
| 243 | +                if (isset($field['label'])) { | |
| 244 | 244 | $label = $field['label']; | 
| 245 | 245 | } | 
| 246 | 246 | |
| 247 | - $prepared[ wpinv_clean( $label ) ] = wp_kses_post( $data[ $field['id'] ] ); | |
| 247 | + $prepared[wpinv_clean($label)] = wp_kses_post($data[$field['id']]); | |
| 248 | 248 | |
| 249 | 249 | } | 
| 250 | 250 | |
| @@ -261,30 +261,30 @@ discard block | ||
| 261 | 261 | * @param WPInv_Invoice $invoice | 
| 262 | 262 | * @param string $type | 
| 263 | 263 | */ | 
| 264 | -    public function prepare_address_details( $invoice, $type = 'billing' ) { | |
| 264 | +    public function prepare_address_details($invoice, $type = 'billing') { | |
| 265 | 265 | |
| 266 | 266 | $data = $this->payment_form_submission->get_data(); | 
| 267 | - $type = sanitize_key( $type ); | |
| 267 | + $type = sanitize_key($type); | |
| 268 | 268 | $address = array(); | 
| 269 | 269 | $prepared = array(); | 
| 270 | 270 | |
| 271 | -		if ( ! empty( $data[ $type ] ) ) { | |
| 272 | - $address = $data[ $type ]; | |
| 271 | +		if (!empty($data[$type])) { | |
| 272 | + $address = $data[$type]; | |
| 273 | 273 | } | 
| 274 | 274 | |
| 275 | 275 | // Clean address details. | 
| 276 | -		foreach ( $address as $key => $value ) { | |
| 277 | - $key = sanitize_key( $key ); | |
| 278 | - $key = str_replace( 'wpinv_', '', $key ); | |
| 279 | - $value = wpinv_clean( $value ); | |
| 280 | -			$prepared[ $key] = apply_filters( "getpaid_checkout_{$type}_address_$key", $value, $this->payment_form_submission, $invoice ); | |
| 276 | +		foreach ($address as $key => $value) { | |
| 277 | + $key = sanitize_key($key); | |
| 278 | +			$key             = str_replace('wpinv_', '', $key); | |
| 279 | + $value = wpinv_clean($value); | |
| 280 | +			$prepared[$key] = apply_filters("getpaid_checkout_{$type}_address_$key", $value, $this->payment_form_submission, $invoice); | |
| 281 | 281 | } | 
| 282 | 282 | |
| 283 | 283 | // Filter address details. | 
| 284 | -		$prepared = apply_filters( "getpaid_checkout_{$type}_address", $prepared, $this->payment_form_submission, $invoice ); | |
| 284 | +		$prepared = apply_filters("getpaid_checkout_{$type}_address", $prepared, $this->payment_form_submission, $invoice); | |
| 285 | 285 | |
| 286 | 286 | // Remove non-whitelisted values. | 
| 287 | - return array_filter( $prepared, 'getpaid_is_address_field_whitelisted', ARRAY_FILTER_USE_KEY ); | |
| 287 | + return array_filter($prepared, 'getpaid_is_address_field_whitelisted', ARRAY_FILTER_USE_KEY); | |
| 288 | 288 | |
| 289 | 289 | } | 
| 290 | 290 | |
| @@ -294,12 +294,12 @@ discard block | ||
| 294 | 294 | * @return array | 
| 295 | 295 | * @param WPInv_Invoice $invoice | 
| 296 | 296 | */ | 
| 297 | -    protected function prepare_billing_info( &$invoice ) { | |
| 297 | +    protected function prepare_billing_info(&$invoice) { | |
| 298 | 298 | |
| 299 | - $billing_address = $this->prepare_address_details( $invoice, 'billing' ); | |
| 299 | + $billing_address = $this->prepare_address_details($invoice, 'billing'); | |
| 300 | 300 | |
| 301 | 301 | // Update the invoice with the billing details. | 
| 302 | - $invoice->set_props( $billing_address ); | |
| 302 | + $invoice->set_props($billing_address); | |
| 303 | 303 | |
| 304 | 304 | } | 
| 305 | 305 | |
| @@ -309,15 +309,15 @@ discard block | ||
| 309 | 309 | * @return array | 
| 310 | 310 | * @param WPInv_Invoice $invoice | 
| 311 | 311 | */ | 
| 312 | -    protected function prepare_shipping_info( $invoice ) { | |
| 312 | +    protected function prepare_shipping_info($invoice) { | |
| 313 | 313 | |
| 314 | 314 | $data = $this->payment_form_submission->get_data(); | 
| 315 | 315 | |
| 316 | -		if ( empty( $data['same-shipping-address'] ) ) { | |
| 317 | - return $this->prepare_address_details( $invoice, 'shipping' ); | |
| 316 | +		if (empty($data['same-shipping-address'])) { | |
| 317 | + return $this->prepare_address_details($invoice, 'shipping'); | |
| 318 | 318 | } | 
| 319 | 319 | |
| 320 | - return $this->prepare_address_details( $invoice, 'billing' ); | |
| 320 | + return $this->prepare_address_details($invoice, 'billing'); | |
| 321 | 321 | |
| 322 | 322 | } | 
| 323 | 323 | |
| @@ -328,31 +328,31 @@ discard block | ||
| 328 | 328 | * @param array $prepared_payment_form_data | 
| 329 | 329 | * @param array $shipping | 
| 330 | 330 | */ | 
| 331 | -	protected function post_process_submission( $invoice, $prepared_payment_form_data, $shipping ) { | |
| 331 | +	protected function post_process_submission($invoice, $prepared_payment_form_data, $shipping) { | |
| 332 | 332 | |
| 333 | 333 | // Ensure the invoice exists. | 
| 334 | -        if ( ! $invoice->exists() ) { | |
| 335 | - wp_send_json_error( __( 'An error occured while saving your invoice. Please try again.', 'invoicing' ) ); | |
| 334 | +        if (!$invoice->exists()) { | |
| 335 | +            wp_send_json_error(__('An error occured while saving your invoice. Please try again.', 'invoicing')); | |
| 336 | 336 | } | 
| 337 | 337 | |
| 338 | 338 | // Save payment form data. | 
| 339 | - $prepared_payment_form_data = apply_filters( 'getpaid_prepared_payment_form_data', $prepared_payment_form_data, $invoice ); | |
| 340 | -        if ( ! empty( $prepared_payment_form_data ) ) { | |
| 341 | - update_post_meta( $invoice->get_id(), 'payment_form_data', $prepared_payment_form_data ); | |
| 339 | +		$prepared_payment_form_data = apply_filters('getpaid_prepared_payment_form_data', $prepared_payment_form_data, $invoice); | |
| 340 | +        if (!empty($prepared_payment_form_data)) { | |
| 341 | + update_post_meta($invoice->get_id(), 'payment_form_data', $prepared_payment_form_data); | |
| 342 | 342 | } | 
| 343 | 343 | |
| 344 | 344 | // Save payment form data. | 
| 345 | -        if ( ! empty( $shipping ) ) { | |
| 346 | - update_post_meta( $invoice->get_id(), 'shipping_address', $shipping ); | |
| 345 | +        if (!empty($shipping)) { | |
| 346 | + update_post_meta($invoice->get_id(), 'shipping_address', $shipping); | |
| 347 | 347 | } | 
| 348 | 348 | |
| 349 | 349 | // Backwards compatibility. | 
| 350 | - add_filter( 'wp_redirect', array( $this, 'send_redirect_response' ) ); | |
| 350 | +        add_filter('wp_redirect', array($this, 'send_redirect_response')); | |
| 351 | 351 | |
| 352 | - $this->process_payment( $invoice ); | |
| 352 | + $this->process_payment($invoice); | |
| 353 | 353 | |
| 354 | 354 | // If we are here, there was an error. | 
| 355 | - wpinv_send_back_to_checkout( $invoice ); | |
| 355 | + wpinv_send_back_to_checkout($invoice); | |
| 356 | 356 | |
| 357 | 357 | } | 
| 358 | 358 | |
| @@ -361,41 +361,41 @@ discard block | ||
| 361 | 361 | * | 
| 362 | 362 | * @param WPInv_Invoice $invoice | 
| 363 | 363 | */ | 
| 364 | -	protected function process_payment( $invoice ) { | |
| 364 | +	protected function process_payment($invoice) { | |
| 365 | 365 | |
| 366 | 366 | // Clear any checkout errors. | 
| 367 | 367 | wpinv_clear_errors(); | 
| 368 | 368 | |
| 369 | 369 | // No need to send free invoices to the gateway. | 
| 370 | -		if ( $invoice->is_free() ) { | |
| 371 | - $this->process_free_payment( $invoice ); | |
| 370 | +		if ($invoice->is_free()) { | |
| 371 | + $this->process_free_payment($invoice); | |
| 372 | 372 | } | 
| 373 | 373 | |
| 374 | 374 | $submission = $this->payment_form_submission; | 
| 375 | 375 | |
| 376 | 376 | // Fires before sending to the gateway. | 
| 377 | - do_action( 'getpaid_checkout_before_gateway', $invoice, $submission ); | |
| 377 | +		do_action('getpaid_checkout_before_gateway', $invoice, $submission); | |
| 378 | 378 | |
| 379 | 379 | // Allow the sumission data to be modified before it is sent to the gateway. | 
| 380 | 380 | $submission_data = $submission->get_data(); | 
| 381 | - $submission_gateway = apply_filters( 'getpaid_gateway_submission_gateway', $invoice->get_gateway(), $submission, $invoice ); | |
| 382 | - $submission_data = apply_filters( 'getpaid_gateway_submission_data', $submission_data, $submission, $invoice ); | |
| 381 | +		$submission_gateway = apply_filters('getpaid_gateway_submission_gateway', $invoice->get_gateway(), $submission, $invoice); | |
| 382 | +		$submission_data    = apply_filters('getpaid_gateway_submission_data', $submission_data, $submission, $invoice); | |
| 383 | 383 | |
| 384 | 384 | // Validate the currency. | 
| 385 | -		if ( ! apply_filters( "getpaid_gateway_{$submission_gateway}_is_valid_for_currency", true, $invoice->get_currency() ) ) { | |
| 386 | - wpinv_set_error( 'invalid_currency', __( 'The chosen payment gateway does not support this currency', 'invoicing' ) ); | |
| 385 | +		if (!apply_filters("getpaid_gateway_{$submission_gateway}_is_valid_for_currency", true, $invoice->get_currency())) { | |
| 386 | +			wpinv_set_error('invalid_currency', __('The chosen payment gateway does not support this currency', 'invoicing')); | |
| 387 | 387 | } | 
| 388 | 388 | |
| 389 | 389 | // Check to see if we have any errors. | 
| 390 | -		if ( wpinv_get_errors() ) { | |
| 391 | - wpinv_send_back_to_checkout( $invoice ); | |
| 390 | +		if (wpinv_get_errors()) { | |
| 391 | + wpinv_send_back_to_checkout($invoice); | |
| 392 | 392 | } | 
| 393 | 393 | |
| 394 | 394 | // Send info to the gateway for payment processing | 
| 395 | - do_action( "getpaid_gateway_$submission_gateway", $invoice, $submission_data, $submission ); | |
| 395 | +		do_action("getpaid_gateway_$submission_gateway", $invoice, $submission_data, $submission); | |
| 396 | 396 | |
| 397 | 397 | // Backwards compatibility. | 
| 398 | - wpinv_send_to_gateway( $submission_gateway, $invoice ); | |
| 398 | + wpinv_send_to_gateway($submission_gateway, $invoice); | |
| 399 | 399 | |
| 400 | 400 | } | 
| 401 | 401 | |
| @@ -404,12 +404,12 @@ discard block | ||
| 404 | 404 | * | 
| 405 | 405 | * @param WPInv_Invoice $invoice | 
| 406 | 406 | */ | 
| 407 | -	protected function process_free_payment( $invoice ) { | |
| 407 | +	protected function process_free_payment($invoice) { | |
| 408 | 408 | |
| 409 | - $invoice->set_gateway( 'none' ); | |
| 410 | - $invoice->add_note( __( "This is a free invoice and won't be sent to the payment gateway", 'invoicing' ), false, false, true ); | |
| 409 | +		$invoice->set_gateway('none'); | |
| 410 | +		$invoice->add_note(__("This is a free invoice and won't be sent to the payment gateway", 'invoicing'), false, false, true); | |
| 411 | 411 | $invoice->mark_paid(); | 
| 412 | - wpinv_send_to_success_page( array( 'invoice_key' => $invoice->get_key() ) ); | |
| 412 | +		wpinv_send_to_success_page(array('invoice_key' => $invoice->get_key())); | |
| 413 | 413 | |
| 414 | 414 | } | 
| 415 | 415 | |
| @@ -417,9 +417,9 @@ discard block | ||
| 417 | 417 | * Sends a redrect response to payment details. | 
| 418 | 418 | * | 
| 419 | 419 | */ | 
| 420 | -    public function send_redirect_response( $url ) { | |
| 421 | - $url = urlencode( $url ); | |
| 422 | - wp_send_json_success( $url ); | |
| 420 | +    public function send_redirect_response($url) { | |
| 421 | + $url = urlencode($url); | |
| 422 | + wp_send_json_success($url); | |
| 423 | 423 | } | 
| 424 | 424 | |
| 425 | 425 | } |