当前位置: 首页>>代码示例>>PHP>>正文


PHP PayPal::DoDirectPayment方法代码示例

本文整理汇总了PHP中PayPal::DoDirectPayment方法的典型用法代码示例。如果您正苦于以下问题:PHP PayPal::DoDirectPayment方法的具体用法?PHP PayPal::DoDirectPayment怎么用?PHP PayPal::DoDirectPayment使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PayPal的用法示例。


在下文中一共展示了PayPal::DoDirectPayment方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: espresso_process_paypal_pro

function espresso_process_paypal_pro($payment_data)
{
    extract($payment_data);
    global $wpdb;
    // Included required files.
    require_once 'includes/paypal.nvp.class.php';
    $paypal_pro_settings = get_option('event_espresso_paypal_pro_settings');
    $sandbox = $paypal_pro_settings['paypal_pro_use_sandbox'];
    // Setup PayPal object
    $PayPalConfig = array('Sandbox' => $sandbox, 'APIUsername' => $paypal_pro_settings['paypal_api_username'], 'APIPassword' => $paypal_pro_settings['paypal_api_password'], 'APISignature' => $paypal_pro_settings['paypal_api_signature']);
    $PayPal = new PayPal($PayPalConfig);
    // Populate data arrays with order data.
    $DPFields = array('paymentaction' => 'Sale', 'ipaddress' => $_SERVER['REMOTE_ADDR'], 'returnfmfdetails' => '1');
    $CCDetails = array('creditcardtype' => $_POST['creditcardtype'], 'acct' => $_POST['card_num'], 'expdate' => $_POST['expmonth'] . $_POST['expyear'], 'cvv2' => $_POST['cvv'], 'startdate' => '', 'issuenumber' => '');
    $PayerInfo = array('email' => $_POST['email'], 'payerid' => '', 'payerstatus' => '', 'business' => '');
    $PayerName = array('salutation' => '', 'firstname' => $_POST['first_name'], 'middlename' => '', 'lastname' => $_POST['last_name'], 'suffix' => '');
    $BillingAddress = array('street' => $_POST['address'], 'street2' => '', 'city' => $_POST['city'], 'state' => $_POST['state'], 'countrycode' => 'US', 'zip' => $_POST['zip'], 'phonenum' => empty($_POST['phone']) ? '' : $_POST['phone']);
    $ShippingAddress = array('shiptoname' => '', 'shiptostreet' => '', 'shiptostreet2' => '', 'shiptocity' => '', 'shiptostate' => '', 'shiptozip' => '', 'shiptocountrycode' => '', 'shiptophonenum' => '');
    $PaymentDetails = array('amt' => $payment_data['total_cost'], 'currencycode' => $paypal_pro_settings['currency_format'], 'itemamt' => '', 'shippingamt' => '', 'handlingamt' => '', 'taxamt' => '', 'desc' => stripslashes_deep($event_name), 'custom' => '', 'invnum' => '', 'notifyurl' => '');
    $OrderItems = array();
    $Item = array('l_name' => stripslashes_deep($event_name), 'l_desc' => stripslashes_deep($event_name), 'l_amt' => $_POST['amount'], 'l_number' => '', 'l_qty' => '1', 'l_taxamt' => '', 'l_ebayitemnumber' => '', 'l_ebayitemauctiontxnid' => '', 'l_ebayitemorderid' => '');
    array_push($OrderItems, $Item);
    // Wrap all data arrays into a single, "master" array which will be passed into the class function.
    $PayPalRequestData = array('DPFields' => $DPFields, 'CCDetails' => $CCDetails, 'PayerName' => $PayerName, 'BillingAddress' => $BillingAddress, 'PaymentDetails' => $PaymentDetails, 'OrderItems' => $OrderItems);
    $PayPalResult = $PayPal->DoDirectPayment($PayPalRequestData);
    $payment_data['payment_status'] = 'Incomplete';
    $payment_data['txn_type'] = 'PayPal Pro';
    $payment_data['txn_id'] = 0;
    $payment_data['txn_details'] = serialize($_REQUEST);
    $payment_data = apply_filters('filter_hook_espresso_prepare_event_link', $payment_data);
    $payment_data = apply_filters('filter_hook_espresso_get_total_cost', $payment_data);
    $Errors = GetErrors($PayPalResult);
    if (!empty($PayPalResult)) {
        unset($PayPalResult['REQUESTDATA']['CREDITCARDTYPE']);
        unset($PayPalResult['REQUESTDATA']['ACCT']);
        unset($PayPalResult['REQUESTDATA']['EXPDATE']);
        unset($PayPalResult['REQUESTDATA']['CVV2']);
        unset($PayPalResult['RAWREQUEST']);
        $payment_data['txn_id'] = $PayPalResult['TRANSACTIONID'];
        $payment_data['txn_details'] = serialize($PayPalResult);
        if (!APICallSuccessful($PayPalResult['ACK'])) {
            DisplayErrors($Errors);
        } else {
            $payment_data['payment_status'] = 'Completed';
        }
    } else {
        ?>
		<p><?php 
        _e('There was no response from PayPal.', 'event_espresso');
        ?>
</p>
		<?php 
    }
    add_action('action_hook_espresso_email_after_payment', 'espresso_email_after_payment');
    return $payment_data;
}
开发者ID:sriram911,项目名称:pls,代码行数:56,代码来源:DoDirectPayment.php

示例2: array

<?php

// Include required library files.
require_once 'includes/config.php';
require_once 'includes/paypal.class.php';
// Create PayPal object.
$PayPalConfig = array('Sandbox' => $sandbox, 'APIUsername' => $api_username, 'APIPassword' => $api_password, 'APISignature' => $api_signature);
$PayPal = new PayPal($PayPalConfig);
// Prepare request arrays
$DPFields = array('paymentaction' => '', 'ipaddress' => '192.168.100.51', 'returnfmfdetails' => '');
$CCDetails = array('creditcardtype' => 'Amex', 'acct' => '371558013221013', 'expdate' => '042016', 'cvv2' => '6273', 'startdate' => '', 'issuenumber' => '');
$PayerInfo = array('email' => '4009@dothejob.org', 'firstname' => 'Michael', 'lastname' => 'Abitbol');
$BillingAddress = array('street' => '150 North Radnor Chester Road Suite F-200', 'street2' => '', 'city' => 'Radnor', 'state' => 'Pennsylvania', 'countrycode' => 'US', 'zip' => '19087', 'phonenum' => '');
$ShippingAddress = array('shiptoname' => 'Michael', 'shiptostreet' => '150 North Radnor Chester Road Suite F-200', 'shiptostreet2' => '', 'shiptocity' => 'Radnor', 'shiptostate' => 'Pennsylvania', 'shiptozip' => '19087', 'shiptocountry' => 'US', 'shiptophonenum' => '');
$PaymentDetails = array('amt' => '1', 'currencycode' => 'USD', 'itemamt' => '', 'shippingamt' => '', 'insuranceamt' => '', 'shipdiscamt' => '', 'handlingamt' => '', 'taxamt' => '', 'desc' => '', 'custom' => '', 'invnum' => '', 'notifyurl' => '', 'recurring' => '');
// For order items you populate a nested array with multiple $Item arrays.  Normally you'll be looping through cart items to populate the $Item
// array and then push it into the $OrderItems array at the end of each loop for an entire collection of all items in $OrderItems.
$OrderItems = array();
$Item = array('l_name' => '', 'l_desc' => '', 'l_amt' => '', 'l_number' => '', 'l_qty' => '', 'l_taxamt' => '', 'l_ebayitemnumber' => '', 'l_ebayitemauctiontxnid' => '', 'l_ebayitemorderid' => '');
array_push($OrderItems, $Item);
$Secure3D = array('authstatus3d' => '', 'mpivendor3ds' => '', 'cavv' => '', 'eci3ds' => '', 'xid' => '');
$PayPalRequestData = array('DPFields' => $DPFields, 'CCDetails' => $CCDetails, 'PayerInfo' => $PayerInfo, 'BillingAddress' => $BillingAddress, 'ShippingAddress' => $ShippingAddress, 'PaymentDetails' => $PaymentDetails, 'OrderItems' => $OrderItems);
// Pass data into class for processing with PayPal and load the response array into $PayPalResult
$PayPalResult = $PayPal->DoDirectPayment($PayPalRequestData);
// Write the contents of the response array to the screen for demo purposes.
echo '<pre />';
print_r($PayPalResult);
开发者ID:pankajsinghjarial,项目名称:SYLC,代码行数:27,代码来源:DoDirectPayment1234.php

示例3: array


//.........这里部分代码省略.........
                         $item['name'] .= " - " . str_replace(", \n", " - ", $meta);
                     }
                 }
                 /**
                  * Get price based on text setting.
                  */
                 if (get_option('woocommerce_prices_include_tax') == 'yes') {
                     $product_price = $order->get_item_subtotal($item, true, false);
                 } else {
                     $product_price = $order->get_item_subtotal($item, false, true);
                 }
                 $Item = array('l_name' => $item['name'], 'l_desc' => '', 'l_amt' => number_format($product_price, 2, '.', ''), 'l_number' => $sku, 'l_qty' => $item['qty'], 'l_taxamt' => '', 'l_ebayitemnumber' => '', 'l_ebayitemauctiontxnid' => '', 'l_ebayitemorderid' => '');
                 array_push($OrderItems, $Item);
                 $ITEMAMT += $product_price * $item['qty'];
                 $item_loop++;
             }
         }
         //Cart Discount
         if ($order->get_cart_discount() > 0) {
             foreach (WC()->cart->get_coupons('cart') as $code => $coupon) {
                 $Item = array('l_name' => 'Cart Discount', 'l_desc' => '', 'l_amt' => '-' . WC()->cart->coupon_discount_amounts[$code], 'l_number' => $code, 'l_qty' => '1', 'l_taxamt' => '', 'l_ebayitemnumber' => '', 'l_ebayitemauctiontxnid' => '', 'l_ebayitemorderid' => '');
                 array_push($OrderItems, $Item);
             }
             $ITEMAMT = $ITEMAMT - $order->get_cart_discount();
         }
         //Order Discount
         if ($order->get_order_discount() > 0) {
             foreach (WC()->cart->get_coupons('order') as $code => $coupon) {
                 $Item = array('l_name' => 'Order Discount', 'l_desc' => '', 'l_amt' => '-' . WC()->cart->coupon_discount_amounts[$code], 'l_number' => $code, 'l_qty' => '1', 'l_taxamt' => '', 'l_ebayitemnumber' => '', 'l_ebayitemauctiontxnid' => '', 'l_ebayitemorderid' => '');
                 array_push($OrderItems, $Item);
             }
             $ITEMAMT = $ITEMAMT - $order->get_order_discount();
         }
         /**
          * Get shipping and tax.
          */
         if (get_option('woocommerce_prices_include_tax') == 'yes') {
             $shipping = $order->get_total_shipping() + $order->get_shipping_tax();
             $tax = 0;
         } else {
             $shipping = $order->get_total_shipping();
             $tax = $order->get_total_tax();
         }
         if ($tax > 0) {
             $PaymentDetails['taxamt'] = $tax;
             // Required if you specify itemized cart tax details. Sum of tax for all items on the order.  Total sales tax.
         }
         if ($shipping > 0) {
             $PaymentDetails['shippingamt'] = $shipping;
             // Total shipping costs for the order.  If you specify shippingamt, you must also specify itemamt.
         }
         $PaymentDetails['itemamt'] = number_format($ITEMAMT, 2, '.', '');
         // Required if you include itemized cart details. (L_AMTn, etc.)  Subtotal of items not including S&H, or tax.
     }
     if ($this->debug) {
         $log = $post_data;
         $log['ACCT'] = '****';
         $log['CVV2'] = '****';
         $this->log->add('paypal-pro', 'Do payment request ' . print_r($log, true));
     }
     /**
      * 3D Secure Params
      */
     if ($this->enable_3dsecure) {
         $Secure3D = array('authstatus3d' => $centinelPAResStatus, 'mpivendor3ds' => $centinelEnrolled, 'cavv' => $centinelCavv, 'eci3ds' => $centinelEciFlag, 'xid' => $centinelXid);
     } else {
         $Secure3D = array();
     }
     $PayPalRequestData = array('DPFields' => $DPFields, 'CCDetails' => $CCDetails, 'PayerInfo' => $PayerInfo, 'BillingAddress' => $BillingAddress, 'ShippingAddress' => $ShippingAddress, 'PaymentDetails' => $PaymentDetails, 'OrderItems' => $OrderItems, 'Secure3D' => $Secure3D);
     // Pass data into class for processing with PayPal and load the response array into $PayPalResult
     $PayPalResult = $PayPal->DoDirectPayment($PayPalRequestData);
     if ($this->debug) {
         $this->log->add('paypal-pro', 'Result ' . print_r($PayPalResult, true));
     }
     if (empty($PayPalResult)) {
         throw new Exception(__('Empty PayPal response.', 'wc_paypal_pro'));
     }
     if ($PayPal->APICallSuccessful($PayPalResult['ACK'])) {
         // Add order note
         $order->add_order_note(sprintf(__('PayPal Pro payment completed (Transaction ID: %s, Correlation ID: %s)', 'wc_paypal_pro'), $parsed_response['TRANSACTIONID'], $parsed_response['CORRELATIONID']));
         // Payment complete
         $order->payment_complete();
         // Remove cart
         WC()->cart->empty_cart();
         // Return thank you page redirect
         return array('result' => 'success', 'redirect' => $this->get_return_url($order));
     } else {
         if ($this->debug) {
             $this->log->add('paypal-pro', 'Error ' . print_r($PayPalResult['ERRORS'], true));
         }
         throw new Exception(__('There was a problem connecting to the payment gateway.', 'wc_paypal_pro'));
         // Get error message
         $error_code = $PayPalResult['ERRORS'][0]['L_ERRORCODE'];
         $error_message = $error_code . '-' . $PayPalResult['ERRORS'][0]['L_LONGMESSAGE'];
         // Payment failed :(
         $order->update_status('failed', sprintf(__('PayPal Pro payment failed (Correlation ID: %s). Payment was rejected due to an error: ', 'wc_paypal_pro'), $parsed_response['CORRELATIONID']) . '(' . $parsed_response['L_ERRORCODE0'] . ') ' . '"' . $error_message . '"');
         wc_add_notice(__('Payment error:', 'wc_paypal_pro') . ' ' . $error_message, "error");
         return;
     }
 }
开发者ID:Joaquinsemp,项目名称:patriestausado,代码行数:101,代码来源:wc-gateway-paypal-pro-angelleye.php

示例4: espresso_process_paypal_pro

function espresso_process_paypal_pro($payment_data)
{
    extract($payment_data);
    global $wpdb;
    // Included required files.
    require_once 'includes/paypal.nvp.class.php';
    $paypal_pro_settings = get_option('event_espresso_paypal_pro_settings');
    $sandbox = $paypal_pro_settings['paypal_pro_use_sandbox'];
    // Setup PayPal object
    $PayPalConfig = array('Sandbox' => $sandbox, 'APIUsername' => $paypal_pro_settings['paypal_api_username'], 'APIPassword' => $paypal_pro_settings['paypal_api_password'], 'APISignature' => $paypal_pro_settings['paypal_api_signature']);
    $PayPal = new PayPal($PayPalConfig);
    //Find the correct amount so that unsavory characters don't change it in the previous form
    $sql = "SELECT ea.amount_pd, ed.event_name FROM " . EVENTS_ATTENDEE_TABLE . " ea ";
    $sql .= "JOIN " . EVENTS_DETAIL_TABLE . " ed ";
    $sql .= "ON ed.id = ea.event_id ";
    $sql .= " WHERE registration_id = '" . espresso_registration_id($_POST['id']) . "' ";
    $sql .= " ORDER BY ea.id ASC LIMIT 1";
    $r = $wpdb->get_row($sql);
    if (!$r || $wpdb->num_rows == 0) {
        exit("Looks like something went wrong.  Please try again or notify the website administrator.");
    }
    // Populate data arrays with order data.
    $DPFields = array('paymentaction' => 'Sale', 'ipaddress' => $_SERVER['REMOTE_ADDR'], 'returnfmfdetails' => '1');
    $CCDetails = array('creditcardtype' => $_POST['creditcardtype'], 'acct' => $_POST['card_num'], 'expdate' => $_POST['expmonth'] . $_POST['expyear'], 'cvv2' => $_POST['cvv'], 'startdate' => '', 'issuenumber' => '');
    $PayerInfo = array('email' => $_POST['email'], 'payerid' => '', 'payerstatus' => '', 'business' => '');
    $PayerName = array('salutation' => '', 'firstname' => $_POST['first_name'], 'middlename' => '', 'lastname' => $_POST['last_name'], 'suffix' => '');
    $BillingAddress = array('street' => $_POST['address'], 'street2' => '', 'city' => $_POST['city'], 'state' => $_POST['state'], 'countrycode' => 'US', 'zip' => $_POST['zip'], 'phonenum' => empty($_POST['phone']) ? '' : $_POST['phone']);
    $ShippingAddress = array('shiptoname' => '', 'shiptostreet' => '', 'shiptostreet2' => '', 'shiptocity' => '', 'shiptostate' => '', 'shiptozip' => '', 'shiptocountrycode' => '', 'shiptophonenum' => '');
    $PaymentDetails = array('amt' => $r->amount_pd, 'currencycode' => $paypal_pro_settings['currency_format'], 'itemamt' => '', 'shippingamt' => '', 'handlingamt' => '', 'taxamt' => '', 'desc' => stripslashes_deep($r->event_name), 'custom' => '', 'invnum' => '', 'notifyurl' => '');
    $OrderItems = array();
    $Item = array('l_name' => stripslashes_deep($r->event_name), 'l_desc' => stripslashes_deep($r->event_name), 'l_amt' => $_POST['amount'], 'l_number' => '', 'l_qty' => '1', 'l_taxamt' => '', 'l_ebayitemnumber' => '', 'l_ebayitemauctiontxnid' => '', 'l_ebayitemorderid' => '');
    array_push($OrderItems, $Item);
    // Wrap all data arrays into a single, "master" array which will be passed into the class function.
    $PayPalRequestData = array('DPFields' => $DPFields, 'CCDetails' => $CCDetails, 'PayerName' => $PayerName, 'BillingAddress' => $BillingAddress, 'PaymentDetails' => $PaymentDetails, 'OrderItems' => $OrderItems);
    $PayPalResult = $PayPal->DoDirectPayment($PayPalRequestData);
    $payment_data['payment_status'] = 'Incomplete';
    $payment_data['txn_type'] = 'PPP';
    $payment_data['txn_id'] = 0;
    $payment_data['txn_details'] = serialize($_REQUEST);
    $payment_data = apply_filters('filter_hook_espresso_prepare_event_link', $payment_data);
    $payment_data = apply_filters('filter_hook_espresso_get_total_cost', $payment_data);
    $Errors = GetErrors($PayPalResult);
    if (!empty($PayPalResult)) {
        $payment_data['txn_id'] = $PayPalResult['TRANSACTIONID'];
        $payment_data['txn_details'] = serialize($PayPalResult);
        if (!APICallSuccessful($PayPalResult['ACK'])) {
            DisplayErrors($Errors);
        } else {
            $payment_data['payment_status'] = 'Completed';
        }
    } else {
        ?>
		<p><?php 
        _e('There was no response from Paypal.', 'event_espresso');
        ?>
</p>
		<?php 
    }
    $payment_data = apply_filters('filter_hook_espresso_update_attendee_payment_data_in_db', $payment_data);
    do_action('action_hook_espresso_email_after_payment', $payment_data);
    return $payment_data;
}
开发者ID:macconsultinggroup,项目名称:WordPress,代码行数:62,代码来源:DoDirectPayment.php


注:本文中的PayPal::DoDirectPayment方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。