本文整理汇总了PHP中PayPal::getCallerServices方法的典型用法代码示例。如果您正苦于以下问题:PHP PayPal::getCallerServices方法的具体用法?PHP PayPal::getCallerServices怎么用?PHP PayPal::getCallerServices使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PayPal
的用法示例。
在下文中一共展示了PayPal::getCallerServices方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: sendDirectPaymentRequest
public function sendDirectPaymentRequest($authorization = true, array $options = null)
{
if ($options != null) {
$this->setOptions($options);
}
$this->buildDirectPaymentRequest($authorization);
$caller =& PayPal::getCallerServices($this->profile);
$isError = true;
if (method_exists($caller, 'DoDirectPayment')) {
$response = $caller->DoDirectPayment($this->request);
$isError = PayPal::isError($response);
$this->buildErrors($response);
}
if (!$isError && $response->getAck() == 'Success') {
$this->transactionID = $response->TransactionID;
return true;
} else {
$this->transactionID = -1;
return false;
}
}
示例2: print_r
$logger->_log('Profile from session: ' . print_r($profile, true));
}
// Build our request from $_POST
$grppd_request =& PayPal::getType('GetRecurringPaymentsProfileDetailsRequestType');
if (PayPal::isError($crpp_request)) {
$logger->_log('Error in request: ' . print_r($grppd_request, true));
} else {
$logger->_log('Create request: ' . print_r($grppd_request, true));
}
$logger->_log('Initial request: ' . print_r($grppd_request, true));
/**
* Get posted request values
*/
$profileID = $_POST['profileID'];
$grppd_request->setProfileID($profileID);
$caller =& PayPal::getCallerServices($profile);
// Execute SOAP request
$response = $caller->GetRecurringPaymentsProfileDetails($grppd_request);
$ack = $response->getAck();
$logger->_log('Ack=' . $ack);
switch ($ack) {
case ACK_SUCCESS:
case ACK_SUCCESS_WITH_WARNING:
// Good to break out;
break;
default:
$_SESSION['response'] =& $response;
$logger->_log('GetRecurringPaymentsProfileDetails failed: ' . print_r($response, true));
$location = "../ApiError.php?HomeLink=RecurringPayments/RecurringPayments.php&HomeLinkName=RecurringPaymentsHome";
header("Location: {$location}");
}
示例3: ipn
function ipn(&$BL)
{
if ($_POST['pp'] == "paypalwpp") {
$this->item_number = $_POST['item_number'];
$this->transaction_id = 0;
$this->payment_status = '';
$pp_vals = $BL->pp_vals->getByKey("paypalwpp");
$temp = $BL->orphan_orders->hasAnyOne(array("WHERE `item_number`=" . intval($this->item_number)));
$O_order = array();
foreach ($BL->orphan_order_datas->find(array("WHERE `orphan_order_id`=" . intval($temp['orphanorder_id']))) as $data) {
$O_order[$data['orphan_order_field']] = $data['orphan_order_value'];
}
if (count($O_order)) {
$amount = number_format($O_order['gross_amount'], 2);
} else {
$invoice = $BL->invoices->get("WHERE `invoice_no`=" . intval($this->item_number));
$amount = number_format($invoice[0]['gross_amount'], 2);
}
require_once 'PayPal.php';
require_once 'PayPal/Profile/API.php';
require_once 'PayPal/Profile/Handler.php';
require_once 'PayPal/Profile/Handler/Array.php';
require_once 'PayPal/Type/DoDirectPaymentRequestType.php';
require_once 'PayPal/Type/DoDirectPaymentRequestDetailsType.php';
require_once 'PayPal/Type/DoDirectPaymentResponseType.php';
// Add all of the types
require_once 'PayPal/Type/BasicAmountType.php';
require_once 'PayPal/Type/PaymentDetailsType.php';
require_once 'PayPal/Type/AddressType.php';
require_once 'PayPal/Type/CreditCardDetailsType.php';
require_once 'PayPal/Type/PayerInfoType.php';
require_once 'PayPal/Type/PersonNameType.php';
// Ack related constants
define('ACK_SUCCESS', 'Success');
define('ACK_SUCCESS_WITH_WARNING', 'SuccessWithWarning');
// Refund related constants
define('REFUND_PARTIAL', 'Partial');
define('REFUND_FULL', 'Full');
// Profile
if ($this->demo_mode) {
define('ENVIRONMENT', 'sandbox');
} else {
define('ENVIRONMENT', 'live');
}
define('UNITED_STATES', 'US');
$dummy = @new APIProfile();
$environments = $dummy->getValidEnvironments();
$handler =& ProfileHandler_Array::getInstance(array('username' => $pp_vals['paypalwpp_apiUsername'], 'certificateFile' => null, 'subject' => null, 'environment' => ENVIRONMENT));
$pid = ProfileHandler::generateID();
$profile = new APIProfile($pid, $handler);
$profile->setAPIUsername($pp_vals['paypalwpp_apiUsername']);
$profile->setAPIPassword($pp_vals['paypalwpp_apiPassword']);
if (is_file($pp_vals['paypalwpp_certFile'])) {
$profile->setCertificateFile($pp_vals['paypalwpp_certFile']);
}
$profile->setSignature($pp_vals['paypalwpp_signature']);
$profile->setEnvironment(ENVIRONMENT);
$caller =& PayPal::getCallerServices($profile);
$_SESSION['APIProfile'] = $profile;
$_SESSION['caller'] = $caller;
$dp_request =& PayPal::getType('DoDirectPaymentRequestType');
/**
* Get posted request values
*/
$paymentType = 'Sale';
$firstName = $_POST['paypalwpp_firstName'];
$lastName = $_POST['paypalwpp_lastName'];
$creditCardType = $_POST['paypalwpp_creditCardType'];
$creditCardNumber = $_POST['paypalwpp_creditCardNumber'];
$expDateMonth = $_POST['paypalwpp_expDateMonth'];
$padDateMonth = str_pad($expDateMonth, 2, '0', STR_PAD_LEFT);
$expDateYear = $_POST['paypalwpp_expDateYear'];
$cvv2Number = $_POST['paypalwpp_cvv2Number'];
$address1 = $_POST['paypalwpp_address1'];
$address2 = $_POST['paypalwpp_address2'];
$city = $_POST['paypalwpp_city'];
$state = $_POST['paypalwpp_state'];
$zip = $_POST['paypalwpp_zip'];
$amount = $amount;
// Populate SOAP request information
// Payment details
$OrderTotal =& PayPal::getType('BasicAmountType');
$OrderTotal->setattr('currencyID', 'USD');
$OrderTotal->setval($amount, 'iso-8859-1');
$PaymentDetails =& PayPal::getType('PaymentDetailsType');
$PaymentDetails->setOrderTotal($OrderTotal);
$shipTo =& PayPal::getType('AddressType');
$shipTo->setName($firstName . ' ' . $lastName);
$shipTo->setStreet1($address1);
$shipTo->setStreet2($address2);
$shipTo->setCityName($city);
$shipTo->setStateOrProvince($state);
$shipTo->setCountry(UNITED_STATES);
$shipTo->setPostalCode($zip);
$PaymentDetails->setShipToAddress($shipTo);
$dp_details =& PayPal::getType('DoDirectPaymentRequestDetailsType');
$dp_details->setPaymentDetails($PaymentDetails);
// Credit Card info
$card_details =& PayPal::getType('CreditCardDetailsType');
$card_details->setCreditCardType($creditCardType);
//.........这里部分代码省略.........
示例4: save
function save($data)
{
$data = $this->udm->getData();
foreach ($data as $key => $value) {
if ($field = $this->checkPrefix($key)) {
$plugin[$field] = $value;
}
}
$options = $this->getOptions();
require_once 'PayPal.php';
require_once 'PayPal/Profile/API.php';
require_once 'PayPal/Profile/Handler.php';
require_once 'PayPal/Profile/Handler/Array.php';
require_once 'PayPal/Type/DoDirectPaymentRequestType.php';
require_once 'PayPal/Type/DoDirectPaymentRequestDetailsType.php';
require_once 'PayPal/Type/DoDirectPaymentResponseType.php';
require_once 'PayPal/Type/BasicAmountType.php';
require_once 'PayPal/Type/PaymentDetailsType.php';
require_once 'PayPal/Type/AddressType.php';
require_once 'PayPal/Type/CreditCardDetailsType.php';
require_once 'PayPal/Type/PayerInfoType.php';
require_once 'PayPal/Type/PersonNameType.php';
$pid =& ProfileHandler::generateID();
$handler =& ProfileHandler_Array::getInstance(array('username' => $options['api_username'], 'password' => $options['api_password'], 'certificateFile' => $options['cert_file'], 'subject' => null, 'environment' => $options['environment']));
$profile =& APIProfile::getInstance($pid, $handler);
$dp_request =& PayPal::getType('DoDirectPaymentRequestType');
$firstName = $data['First_Name'];
$lastName = $data['Last_Name'];
$creditCardType = $plugin['cc_type'];
$creditCardNumber = $plugin['cc_number'];
$expDateMonth = $plugin['cc_expiration']['m'];
// Month must be padded with leading zero
$padDateMonth = str_pad($expDateMonth, 2, '0', STR_PAD_LEFT);
$expDateYear = $plugin['cc_expiration']['Y'];
$cvv2Number = $plugin['cc_cvv2'];
$address1 = $data['Street'];
$address2 = isset($data['Street_1']) ? $data['Street_1'] : null;
$city = $data['City'];
$state = $data['State'];
$zip = $data['Zip'];
$amount = $plugin['amount'];
$OrderTotal =& PayPal::getType('BasicAmountType');
$OrderTotal->setattr('currencyID', 'USD');
$OrderTotal->setval($amount, 'iso-8859-1');
$PaymentDetails =& PayPal::getType('PaymentDetailsType');
$PaymentDetails->setOrderTotal($OrderTotal);
$shipTo =& PayPal::getType('AddressType');
$shipTo->setName($firstName . ' ' . $lastName);
$shipTo->setStreet1($address1);
$shipTo->setStreet2($address2);
$shipTo->setCityName($city);
$shipTo->setStateOrProvince($state);
$shipTo->setCountry('US');
$shipTo->setPostalCode($zip);
$PaymentDetails->setShipToAddress($shipTo);
$dp_details =& PayPal::getType('DoDirectPaymentRequestDetailsType');
$dp_details->setPaymentDetails($PaymentDetails);
// Credit Card info
$card_details =& PayPal::getType('CreditCardDetailsType');
$card_details->setCreditCardType($creditCardType);
$card_details->setCreditCardNumber($creditCardNumber);
$card_details->setExpMonth($padDateMonth);
$card_details->setExpYear($expDateYear);
$card_details->setCVV2($cvv2Number);
$payer =& PayPal::getType('PayerInfoType');
$person_name =& PayPal::getType('PersonNameType');
$person_name->setFirstName($firstName);
$person_name->setLastName($lastName);
$payer->setPayerName($person_name);
$payer->setPayerCountry('US');
$payer->setAddress($shipTo);
if (isset($data['Email'])) {
$payer->setPayer($data['Email']);
}
$card_details->setCardOwner($payer);
$dp_details->setCreditCard($card_details);
$dp_details->setIPAddress($_SERVER['SERVER_ADDR']);
$dp_details->setPaymentAction('Sale');
$dp_request->setDoDirectPaymentRequestDetails($dp_details);
$caller =& PayPal::getCallerServices($profile);
if (PEAR::isError($caller)) {
trigger_error($caller->getMessage());
return false;
}
$response = $caller->DoDirectPayment($dp_request);
$ack = $response->getAck();
define('ACK_SUCCESS', 'Success');
define('ACK_SUCCESS_WITH_WARNING', 'SuccessWithWarning');
switch ($ack) {
case ACK_SUCCESS:
case ACK_SUCCESS_WITH_WARNING:
if (isset($options['response']) && $options['response']) {
$response_code = 'Transaction ID: ' . $response->getTransactionID() . "\n" . 'Completed AVS Code: ' . $response->getAVSCode() . "\n" . 'CVV2 Code: ' . $response->getCVV2Code();
require_once 'AMP/System/User/Profile/Profile.php';
$profile =& new AMP_System_User_Profile($this->dbcon, $this->udm->uid);
if ($profile->hasData()) {
$update = array($options['response'] => $response_code);
$profile->mergeData($update);
$profile->save();
} else {
//.........这里部分代码省略.........
示例5: getCaller
/**
* Get an instance of a caller
*
* @return bool
*/
private function getCaller()
{
$handler =& ProfileHandler_Array::getInstance(array('username' => $this->api_username, 'certificateFile' => $this->api_certificate, 'signature' => $this->api_signature, 'subject' => $this->api_subject, 'environment' => $this->api_test ? 'Sandbox' : 'Live'));
$profile =& APIProfile::getInstance($this->api_username, $handler);
$profile->setAPIPassword($this->api_password);
$this->api_caller =& PayPal::getCallerServices($profile);
if (PayPal::isError($this->api_caller)) {
$this->api_error_string = $this->api_caller->getMessage();
return false;
}
return true;
}
示例6: getCallerServices
/**
* Creates a CallerServices object with our credentials
*
* @throws RuntimeException if the API Caller could not be initialized
* @return CallerServices
*/
public function getCallerServices()
{
if ($this->_callerServices === null) {
$username = $this->getUsername();
$signature = $this->getSignature();
$password = $this->getPassword();
$environment = $this->isDebug() ? 'Sandbox' : 'Live';
$handler = ProfileHandler_Array::getInstance(array('username' => $username, 'certificateFile' => null, 'signature' => $signature, 'subject' => null, 'environment' => $environment));
$profile = APIProfile::getInstance($username, $handler);
$profile->setAPIPassword($password);
$caller = PayPal::getCallerServices($profile);
if (PayPal::isError($caller)) {
throw new RuntimeException('The API Caller could not be initialized: ' . $caller->getMessage());
}
// if we are in debug mode, ignore any invalid SSL certificates
// TODO: Check if we also need this in production
if ($this->isDebug()) {
$caller->setOpt('curl', CURLOPT_SSL_VERIFYPEER, 0);
$caller->setOpt('curl', CURLOPT_SSL_VERIFYHOST, 0);
}
$this->_callerServices = $caller;
}
return $this->_callerServices;
}
示例7: refundPayment
function refundPayment($transaction_id, $type = 'Full', $amount = '', $note = '')
{
if (!$this->setEnvironment()) {
return false;
}
if (!$transaction_id) {
return false;
}
if (!$note) {
$note = sprintf('Refund %s', $transaction_id);
}
$pid = ProfileHandler::generateID();
$handler =& ProfileHandler_Array::getInstance(array('username' => $this->pp_username, 'certificateFile' => null, 'subject' => null, 'environment' => $this->environment));
$profile = new APIProfile($pid, $handler);
$profile->setAPIUsername($this->pp_username);
$profile->setAPIPassword($this->pricepp_pass);
$profile->setSignature($this->pp_signature);
$profile->setCertificateFile(null);
$profile->setEnvironment($this->environment);
$ref_details =& PayPal::getType('RefundTransactionRequestType');
$ref_details->setVersion("51.0");
$transactionID = filter_var($transaction_id, FILTER_SANITIZE_STRING);
$refundType = filter_var($type, FILTER_SANITIZE_STRING);
$refundAmount = filter_var($amount, FILTER_SANITIZE_STRING);
$refundNote = filter_var($note, FILTER_SANITIZE_STRING);
$ref_details->setTransactionID($transactionID, 'iso-8859-1');
$ref_details->setRefundType($refundType, 'iso-8859-1');
$ref_details->setAmount($refundAmount, 'iso-8859-1');
$ref_details->setMemo($refundNote, 'iso-8859-1');
$caller =& PayPal::getCallerServices($profile);
$this->logger->_log("Refund Profile: " . print_r($profile, true) . "");
$this->logger->_log("Refund Request Details: " . print_r($ref_details, true) . "");
$response = $caller->RefundTransaction($ref_details);
$this->logger->_log("Refund Response Details: " . print_r($response, true) . "");
$ack = $response->getAck();
$ref_return = array();
if ($ack == 'Success') {
$ref_return = array('success' => array('field' => 'Refund Processing', 'desc' => $response));
} else {
$ref_return = array('error' => array('field' => 'Refund Processing', 'desc' => $response->Errors->LongMessage, 'short_message' => $response->Errors->ShortMessage, 'error_code' => $response->Errors->ErrorCode, 'correlation_id' => $response->CorrelationID));
}
return $ref_return;
}