/** * description * @param snippet * @since snippet. * @author Duocnv */ public function successful_request($posted) { // Insert the post into the database $posted = stripslashes_deep($posted); if (!empty($posted['invoice'])) { $order_pay = new AE_Order($posted['invoice']); $order_pay->set_payment_code($_POST['txn_id']); $order_pay->set_payer_id($_POST['payer_id']); $posted['payment_status'] = strtolower($posted['payment_status']); $posted['txn_type'] = strtolower($posted['txn_type']); if (1 == $posted['test_ipn'] && 'pending' == $posted['payment_status']) { $posted['payment_status'] = 'completed'; } switch ($posted['payment_status']) { case 'completed': $order_pay->set_status('publish'); break; case 'pending': $order_pay->set_status('pending'); break; case 'denied': case 'expired': case 'failed': case 'voided': $order_pay->set_status('draft'); break; } $order_pay->update_order(); exit; } }