本文整理汇总了PHP中Cart66Common::awardCommission方法的典型用法代码示例。如果您正苦于以下问题:PHP Cart66Common::awardCommission方法的具体用法?PHP Cart66Common::awardCommission怎么用?PHP Cart66Common::awardCommission使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cart66Common
的用法示例。
在下文中一共展示了Cart66Common::awardCommission方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: saveOrder
/**
* Save a PayPal IPN order from a Website Payments Pro cart sale.
*
* @param array $pp Urldecoded array of IPN key value pairs
*/
public function saveOrder($pp)
{
global $wpdb;
// NEW Parse custom value
$referrer = false;
$ouid = $pp['custom'];
if (strpos($ouid, '|') !== false) {
list($ouid, $referrer, $gfData) = explode('|', $ouid);
}
$order = new Cart66Order();
$order->loadByOuid($ouid);
if ($order->id > 0 && $order->status == 'checkout_pending') {
$hasDigital = false;
// Calculate subtotal
$subtotal = 0;
$numCartItems = $pp['num_cart_items'] > 0 ? $pp['num_cart_items'] : 1;
for ($i = 1; $i <= $numCartItems; $i++) {
// PayPal in not consistent in the way it passes back the item amounts
$amt = 0;
if (isset($pp['mc_gross' . $i])) {
$amt = $pp['mc_gross' . $i];
} elseif (isset($pp['mc_gross_' . $i])) {
$amt = $pp['mc_gross_' . $i];
}
$subtotal += $amt;
}
$statusOptions = Cart66Common::getOrderStatusOptions();
$status = $statusOptions[0];
// Parse Gravity Forms ids
$gfIds = array();
if (!empty($gfData)) {
$forms = explode(',', $gfData);
foreach ($forms as $f) {
list($itemId, $formEntryId) = explode(':', $f);
$gfIds[$itemId] = $formEntryId;
}
}
// Look for discount amount
$discount = 0;
if (isset($pp['discount'])) {
$discount = $pp['discount'];
}
$data = array('bill_first_name' => $pp['first_name'], 'bill_last_name' => $pp['last_name'], 'bill_address' => $pp['address_street'], 'bill_city' => $pp['address_city'], 'bill_state' => $pp['address_state'], 'bill_zip' => $pp['address_zip'], 'bill_country' => $pp['address_country'], 'ship_first_name' => $pp['address_name'], 'ship_address' => $pp['address_street'], 'ship_city' => $pp['address_city'], 'ship_state' => $pp['address_state'], 'ship_zip' => $pp['address_zip'], 'ship_country' => $pp['address_country'], 'email' => $pp['payer_email'], 'phone' => $pp['contact_phone'], 'shipping' => $pp['mc_handling'], 'tax' => $pp['tax'], 'subtotal' => $subtotal, 'total' => $pp['mc_gross'], 'discount_amount' => $discount, 'trans_id' => $pp['txn_id'], 'ordered_on' => date('Y-m-d H:i:s', Cart66Common::localTs()), 'status' => $status);
foreach ($data as $key => $value) {
$data[$key] = is_null($value) ? '' : $value;
}
// Verify the first items in the IPN are for products managed by Cart66. It could be an IPN from some other type of transaction.
$productsTable = Cart66Common::getTableName('products');
$orderItemsTable = Cart66Common::getTableName('order_items');
$sql = "SELECT id from {$productsTable} where item_number = '" . $pp['item_number1'] . "'";
$productId = $wpdb->get_var($sql);
if (!$productId) {
Cart66Common::log('[' . basename(__FILE__) . ' - line ' . __LINE__ . "] about to throw an exception, this is not an IPN that should be managed by cart66 because the item number does not match up");
throw new Exception("This is not an IPN that should be managed by Cart66");
}
// Look for the 100% coupons shipping item and move it back to a shipping costs rather than a product
if ($data['shipping'] == 0) {
for ($i = 1; $i <= $numCartItems; $i++) {
$itemNumber = strtoupper($pp['item_number' . $i]);
if ($itemNumber == 'SHIPPING') {
$data['shipping'] = isset($pp['mc_gross_' . $i]) ? $pp['mc_gross_' . $i] : $pp['mc_gross' . $i];
}
}
}
$order->setData($data);
$order->save();
$orderId = $order->id;
// Handle email receipts
if (CART66_PRO && CART66_EMAILS && Cart66Setting::getValue('enable_advanced_notifications') == 1) {
$notify = new Cart66AdvancedNotifications($orderId);
$notify->sendAdvancedEmailReceipts();
} elseif (CART66_EMAILS) {
$notify = new Cart66Notifications($orderId);
$notify->sendEmailReceipts();
}
// Process affiliate reward if necessary
if ($referrer && CART66_PRO) {
Cart66Common::awardCommission($order->id, $referrer);
// End processing affiliate information
if (isset($_COOKIE['ap_id']) && $_COOKIE['ap_id']) {
setcookie('ap_id', $referrer, time() - 3600, "/");
unset($_COOKIE['ap_id']);
}
Cart66Session::drop('app_id');
}
if (CART66_PRO) {
// Begin iDevAffiliate Tracking
if (CART66_PRO && ($url = Cart66Setting::getValue('idevaff_url'))) {
require_once CART66_PATH . "/pro/idevaffiliate-award.php";
}
// End iDevAffiliate Tracking
}
} else {
$orderTable = Cart66Common::getTableName('orders');
// Make sure the transaction id is not already in the database
//.........这里部分代码省略.........
示例2: wp_redirect
Cart66Session::drop('Cart66PendingOUID');
wp_redirect($url);
exit;
}
}
// Process Affiliate Payments
// Begin processing affiliate information
if (Cart66Session::get('ap_id')) {
$referrer = Cart66Session::get('ap_id');
} elseif (isset($_COOKIE['ap_id'])) {
$referrer = $_COOKIE['ap_id'];
}
if (is_object($order) && $order->viewed == 0) {
// only process affiliate logging if this is the first time the receipt is viewed
if (!empty($referrer)) {
Cart66Common::awardCommission($order->id, $referrer);
}
// End processing affiliate information
// Begin iDevAffiliate Tracking
if (CART66_PRO && ($url = Cart66Setting::getValue('idevaff_url'))) {
require_once CART66_PATH . "/pro/idevaffiliate-award.php";
}
// End iDevAffiliate Tracking
if (isset($_COOKIE['ap_id']) && $_COOKIE['ap_id']) {
setcookie('ap_id', $referrer, time() - 3600, "/");
unset($_COOKIE['ap_id']);
}
Cart66Session::drop('app_id');
}
if (isset($_GET['duid'])) {
$duid = $_GET['duid'];
示例3: saveTcoOrder
public function saveTcoOrder()
{
global $wpdb;
// NEW Parse custom value
$referrer = false;
$ouid = $_POST['custom'];
if (strpos($ouid, '|') !== false) {
list($ouid, $referrer) = explode('|', $ouid);
}
$order = new Cart66Order();
$order->loadByOuid($ouid);
if ($order->id > 0 && $order->status == 'checkout_pending' && $_POST['total'] == $order->total) {
$statusOptions = Cart66Common::getOrderStatusOptions();
$status = $statusOptions[0];
$data = array('bill_first_name' => $_POST['first_name'], 'bill_last_name' => $_POST['last_name'], 'bill_address' => $_POST['street_address'], 'bill_address2' => $_POST['street_address2'], 'bill_city' => $_POST['city'], 'bill_state' => $_POST['state'], 'bill_zip' => $_POST['zip'], 'bill_country' => $_POST['country'], 'email' => $_POST['email'], 'trans_id' => $_POST['order_number'], 'ordered_on' => date('Y-m-d H:i:s', Cart66Common::localTs()), 'status' => $status);
// Verify the first items in the IPN are for products managed by Cart66. It could be an IPN from some other type of transaction.
$productsTable = Cart66Common::getTableName('products');
$orderItemsTable = Cart66Common::getTableName('order_items');
$sql = "SELECT id from {$productsTable} where item_number = '" . $_POST['li_0_product_id'] . "'";
$productId = $wpdb->get_var($sql);
if (!$productId) {
Cart66Common::log('[' . basename(__FILE__) . ' - line ' . __LINE__ . "] about to throw an exception, this is not an IPN that should be managed by cart66 because the item number does not match up");
throw new Exception("This is not an IPN that should be managed by Cart66");
}
$order->setData($data);
$order->save();
$orderId = $order->id;
// Handle email receipts
if (CART66_PRO && CART66_EMAILS && Cart66Setting::getValue('enable_advanced_notifications') == 1) {
$notify = new Cart66AdvancedNotifications($orderId);
$notify->sendAdvancedEmailReceipts();
} elseif (CART66_EMAILS) {
$notify = new Cart66Notifications($orderId);
$notify->sendEmailReceipts();
}
// Process affiliate reward if necessary
if ($referrer && CART66_PRO) {
Cart66Common::awardCommission($order->id, $referrer);
// End processing affiliate information
if (isset($_COOKIE['ap_id']) && $_COOKIE['ap_id']) {
setcookie('ap_id', $referrer, time() - 3600, "/");
unset($_COOKIE['ap_id']);
}
Cart66Session::drop('app_id');
}
if (CART66_PRO) {
// Begin iDevAffiliate Tracking
if (CART66_PRO && ($url = Cart66Setting::getValue('idevaff_url'))) {
require_once CART66_PATH . "/pro/idevaffiliate-award.php";
}
// End iDevAffiliate Tracking
}
wp_redirect(remove_query_arg('listener', Cart66Common::getCurrentPageUrl()));
exit;
}
}