Function Reference: geodir_ipn_handler_worldpay
Summary
This function has not been documented yet.
Source Code
function geodir_ipn_handler_worldpay() { $post = $_POST; $cardType = isset( $post['cardType'] ) ? geodir_strtoupper($post['cardType']) : ''; $invoice_id = isset( $post['cartId'] ) ? (int)$post['cartId'] : ''; $invoice_status = isset( $post['transStatus'] ) ? $post['transStatus'] : ''; $txn_id = isset( $post['transId'] ) ? $post['transId'] : ''; if ( $invoice_id > 0 && $invoice_status != '' && $txn_id != '' ) { $invoice_info = geodir_get_invoice( $invoice_id ); if ( empty( $invoice_info ) ) { exit; } $post_id = $invoice_info->post_id; $user_id = $invoice_info->user_id; $notify_status = 'payment_fail'; if ( $invoice_status == 'Y' ) { // payment status approved $status = 'confirmed'; $notify_status = 'payment_success'; } else if ( $invoice_status == 'C' ) { // payment status pending $status = 'cancelled'; } else { // payment status fail $status = 'fail'; } $item_name = $invoice_info->post_title; $payment_status = geodir_payment_status_name( $status ); $amount = geodir_payment_price( $post['amount'] ); $payment_type = $cardType; $payment_date = date_i18n( "F j, Y, g:i a", current_time( 'timestamp' ) ); $payment_method = geodir_payment_method_title( 'worldpay' ); $transaction_details = "--------------------------------------------------
"; $transaction_details .= wp_sprintf( __( "Payment Details for Invoice ID #%s", 'geodir_payments' ), geodir_payment_invoice_id_formatted($invoice_id) ) . "
"; $transaction_details .= "--------------------------------------------------
"; $transaction_details .= wp_sprintf( __( "Item Name: %s", 'geodir_payments' ), $item_name ) . "
"; $transaction_details .= "--------------------------------------------------
"; $transaction_details .= wp_sprintf( __( "Trans ID: %s", 'geodir_payments' ), $txn_id ) . "
"; $transaction_details .= wp_sprintf( __( "Status: %s", 'geodir_payments' ), $payment_status ) . "
"; $transaction_details .= wp_sprintf( __( "Amount: %s", 'geodir_payments' ), $amount ) . "
"; $transaction_details .= wp_sprintf( __( "Type: %s", 'geodir_payments' ), $payment_type ) . "
"; $transaction_details .= wp_sprintf( __( "Date: %s", 'geodir_payments' ), $payment_date ) . "
"; $transaction_details .= wp_sprintf( __( "Method: %s", 'geodir_payments' ), $payment_method ) . "
"; $transaction_details .= "--------------------------------------------------
"; geodir_update_invoice_status( $invoice_id, $status ); geodir_update_invoice_transaction_details( $invoice_id, $transaction_details ); geodir_payment_adminEmail( $post_id, $user_id, $notify_status, $transaction_details ); // send notification to admin geodir_payment_clientEmail( $post_id, $user_id, $notify_status, $transaction_details ); // send notification to client } exit; }