403 ) ); } //Create payment_data array $payment_data = array( 'price' => $purchase_data['price'], 'give_form_title' => $purchase_data['post_data']['give-form-title'], 'give_form_id' => intval( $purchase_data['post_data']['give-form-id'] ), 'give_price_id' => isset($purchase_data['post_data']['give-price-id']) ? $purchase_data['post_data']['give-price-id'] : '', 'date' => $purchase_data['date'], 'user_email' => $purchase_data['user_email'], 'purchase_key' => $purchase_data['purchase_key'], 'currency' => give_get_currency( $purchase_data['post_data']['give-form-id'], $purchase_data ), 'user_info' => $purchase_data['user_info'], 'status' => 'pending' ); // Record the pending payment $payment = give_insert_payment( $payment_data ); if ( $payment ) { give_update_payment_status( $payment, 'publish' ); give_send_to_success_page(); } else { give_record_gateway_error( esc_html__( 'Payment Error', 'give' ), sprintf( /* translators: %s: payment data */ esc_html__( 'The payment creation failed while processing a manual (free or test) donation. Payment data: %s', 'give' ), json_encode( $payment_data ) ), $payment ); // If errors are present, send the user back to the donation page so they can be corrected give_send_back_to_checkout( '?payment-mode=' . $purchase_data['post_data']['give-gateway'] ); } } add_action( 'give_gateway_manual', 'give_manual_payment' );