本文整理汇总了PHP中PayPal\Api\Payer::setPayerInfo方法的典型用法代码示例。如果您正苦于以下问题:PHP Payer::setPayerInfo方法的具体用法?PHP Payer::setPayerInfo怎么用?PHP Payer::setPayerInfo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PayPal\Api\Payer
的用法示例。
在下文中一共展示了Payer::setPayerInfo方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createPayer
public static function createPayer()
{
$payer = new Payer();
$payer->setPaymentMethod(self::$paymentMethod);
$payer->setPayerInfo(PayerInfoTest::createPayerInfo());
$payer->setFundingInstruments(array(FundingInstrumentTest::createFundingInstrument()));
return $payer;
}
示例2: postPayment
public function postPayment()
{
$name = 'Transaction';
$mmnumber = Input::get('number');
$amounttosend = Input::get('amount');
$currency = Input::get('currency');
$type = Input::get('target');
//destination/receipient's payment Provider
$cno = Input::get('cardnumber');
$charges = new PlatformCharges($amounttosend, $currency, $type);
$desc = $charges->getReceiverType($type);
Session::set('destProvider', $type);
Session::set('destination', $mmnumber);
if ($type == 'pp') {
return Redirect::route('dashboard')->with('alertError', 'You need to select different payment provider for sender and receiver');
}
$payer = new Payer();
$payer->setPaymentMethod('paypal');
// Valid Values: ["credit_card", "bank", "paypal", "pay_upon_invoice", "carrier"]
//TODO:: try to deduce the receiver type (email or number) and set the payerinfo data correctly for consistency
$payerInfo = new PayerInfo();
$payerInfo->setFirstName($mmnumber);
//used to represent the receiver name/number/email
$payerInfo->setLastName('Paypal to ' . $desc);
//used to pass the transaction type in the request
$payer->setPayerInfo($payerInfo);
$item_1 = new Item();
$item_1->setName('Money Transfer')->setDescription("Send money to a {$desc} User")->setCurrency('USD')->setQuantity(1)->setPrice($charges->getDueAmount('pp', $type));
// unit price)
// add item to list
$item_list = new ItemList();
$item_list->setItems(array($item_1));
$amount = new Amount();
$amount->setCurrency('USD')->setTotal($charges->getDueAmount('pp', $type));
$transaction = new Transaction();
$transaction->setAmount($amount)->setItemList($item_list)->setDescription('Send money To a Mobile Money User');
$redirect_urls = new RedirectUrls();
$redirect_urls->setReturnUrl(URL::route('payment-status'))->setCancelUrl(URL::route('payment-status'));
$payment = new Payment();
$payment->setIntent('sale')->setPayer($payer)->setRedirectUrls($redirect_urls)->setTransactions(array($transaction));
try {
$payment->create($this->_api_context);
foreach ($payment->getLinks() as $link) {
if ($link->getRel() == 'approval_url') {
$redirect_url = $link->getHref();
break;
}
}
// add payment ID to session
Session::put('paypal_payment_id', $payment->getId());
if (isset($redirect_url)) {
// redirect to paypal
return Redirect::away($redirect_url);
}
return "Error!!!!";
} catch (\PayPal\Exception\PPConnectionException $ex) {
if (\Config::get('app.debug')) {
echo "Exception: " . $ex->getMessage() . PHP_EOL;
$err_data = json_decode($ex->getData(), true);
return Redirect::route('dashboard')->with('alertError', 'Connection error. $err_data');
exit;
} else {
return Redirect::route('dashboard')->with('alertError', 'Connection error occured. Please try again later. ' . $ex->getMessage());
// die('Some error occurred, sorry for the inconvenience. Our team has been notified to correct this error.');
}
} catch (Exception $ex) {
return Redirect::route('dashboard')->with('alertError', 'Error! ' . $ex->getMessage());
}
}
示例3: substr
/**
* @param $data array form post data
* @return string HTML to display
*/
function _prePayment($data)
{
$this->_autoload();
$order = $this->_getOrder($data['order_number']);
//initialise application
$app = JFactory::getApplication();
//get card input
$data['cardtype'] = $app->input->getString("cardtype");
$data['cardnum'] = $app->input->getString("cardnum");
$month = $app->input->getString("month");
$year = $app->input->getString("year");
$card_exp = $month . '' . $year;
$data['cardexp'] = $card_exp;
$data['cardcvv'] = $app->input->getString("cardcvv");
$data['cardnum_last4'] = substr($app->input->getString("cardnum"), -4);
//initialise payment
$apiContext = new ApiContext(new OAuthTokenCredential($this->api_clientId, $this->api_clientSecret));
$apiContext->setConfig(array('mode' => $this->api_mode));
// echo'<pre>';print_r($apiContext);die;
$card = new CreditCard();
$card->setType($data['cardtype']);
$card->setNumber($data['cardnum']);
$card->setExpireMonth($month);
$card->setExpireYear($year);
$card->setFirstName($data['firstname']);
$card->setLastName($data['lastname']);
$card->setCvv2($data['cardcvv']);
$fi = new FundingInstrument();
$fi->setCreditCard($card);
$payer = new Payer();
$payer->setPaymentMethod("credit_card")->setFundingInstruments(array($fi));
if (!empty($data['email'])) {
$payerInfo = new PayerInfo();
$payerInfo->setFirstName($data['firstname']);
$payerInfo->setLastName($data['lastname']);
$payerInfo->setEmail($data['email']);
$payer->setPayerInfo($payerInfo);
}
$amount = new Amount();
$amount->setCurrency($this->currency);
$amount->setTotal($data['total']);
$item1 = new Item();
$item1->setName($data['order_number'])->setDescription($data['order_number'])->setCurrency($this->currency)->setQuantity(1)->setTax(0)->setPrice($data['total']);
$itemList = new ItemList();
$itemList->setItems(array($item1));
$transaction = new Transaction();
$transaction->setAmount($amount);
$transaction->setItemList($itemList);
$transaction->setDescription($data['order_number']);
$payment = new Payment();
$payment->setIntent("sale");
$payment->setPayer($payer);
$payment->setTransactions(array($transaction));
$request = clone $payment;
try {
$payment->create($apiContext);
} catch (PayPal\Exception\PayPalConnectionException $ex) {
$error = json_decode($ex->getData());
$error_html = '<h2>' . $error->name . '</h2><br>';
foreach ($error->details as $r) {
$error_html .= '- ' . $r->field . ' - ' . $r->issue . '<br>';
}
$app->enqueueMessage($error_html, 'error');
$app->redirect('index.php?option=com_bookpro&view=formpayment&order_id=' . $order->id . '&' . JSession::getFormToken() . '=1');
return;
} catch (Exception $ex) {
die($ex);
}
$ack = $payment->getState();
if ($ack == 'approved' || $ack == 'completed') {
$order->pay_status = "SUCCESS";
$order->order_status = "CONFIRMED";
$order->tx_id = $payment->getId();
$order->store();
} else {
JLog::addLogger(array('text_file' => 'paypal.txt', 'text_file_path' => 'logs', 'text_file_no_php' => 1, 'text_entry_format' => '{DATE} {TIME} {MESSAGE}'), JLog::ALERT);
JLog::add('Transaction: ' . json_encode($payment) . '\\nOrder: ' . $order->order_number . ' Status: ' . $ack, JLog::ALERT, 'com_bookpro');
$order->pay_status = "PENDING";
$order->tx_id = $transaction_id;
$order->store();
}
$app = JFactory::getApplication();
$app->redirect('index.php?option=com_bookpro&controller=payment&task=postpayment&method=' . $this->_element . '&order_number=' . $order->order_number);
return;
}
示例4: Payer
//.........这里部分代码省略.........
$item[$i] = new Item();
$item[$i]->setName($this->encode_utf8($order->products[$i]['name']))->setCurrency($order->info['currency'])->setQuantity($order->products[$i]['qty'])->setPrice($order->products[$i]['price'])->setSku($order->products[$i]['model'] != '' ? $order->products[$i]['model'] : $order->products[$i]['id']);
$subtotal += $order->products[$i]['price'] * $order->products[$i]['qty'];
}
// set totals
if ($order_exists === false) {
if (!class_exists('order_total')) {
require_once DIR_WS_CLASSES . 'order_total.php';
}
$order_total_modules = new order_total();
$order_totals = $order_total_modules->process();
$this->get_totals($order_totals, true, $subtotal);
} else {
$this->get_totals($order->totals);
}
// set amount
$this->amount->setCurrency($order->info['currency'])->setDetails($this->details);
// set redirect
if ($order_exists === false) {
$redirectUrls->setReturnUrl($this->link_encoding(xtc_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL')))->setCancelUrl($this->link_encoding(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'payment_error=' . $this->code, 'SSL')));
} else {
$redirectUrls->setReturnUrl($this->link_encoding(xtc_href_link('callback/paypal/' . $this->code . '.php', 'oID=' . $order->info['order_id'] . '&key=' . md5($order->customer['email_address']), 'SSL')))->setCancelUrl($this->link_encoding(xtc_href_link('callback/paypal/' . $this->code . '.php', 'payment_error=' . $this->code . '&oID=' . $order->info['order_id'] . '&key=' . md5($order->customer['email_address']), 'SSL')));
}
if ($this->code == 'paypalinstallment') {
$redirectUrls->setReturnUrl($this->link_encoding(xtc_href_link(FILENAME_CHECKOUT_CONFIRMATION, 'conditions=true', 'SSL')));
}
}
// set ItemList
if ($this->get_config('PAYPAL_ADD_CART_DETAILS') == '0' || $this->check_discount() === true) {
$item = array();
$item[0] = new Item();
$item[0]->setName($this->encode_utf8(MODULE_PAYMENT_PAYPAL_TEXT_ORDER))->setCurrency($_SESSION['currency'])->setQuantity(1)->setPrice($this->details->getSubtotal());
if ($cart === true) {
$shipping_cost = $this->get_config('MODULE_PAYMENT_' . strtoupper($this->code) . '_SHIPPING_COST');
if ((int) $shipping_cost > 0) {
$item[1] = new Item();
$item[1]->setName($this->encode_utf8(PAYPAL_EXP_VORL))->setCurrency($_SESSION['currency'])->setQuantity(1)->setPrice($shipping_cost);
$this->amount->setTotal($this->amount->getTotal() + $shipping_cost);
$this->details->setSubtotal($this->amount->getTotal());
}
}
}
$itemList->setItems($item);
// profile
$address_override = false;
$profile_id = $this->get_config('PAYPAL_' . strtoupper($this->code . '_' . $_SESSION['language_code']) . '_PROFILE');
if ($profile_id == '') {
$profile_id = $this->get_config('PAYPAL_STANDARD_PROFILE');
}
if ($profile_id != '') {
if ($this->get_config(strtoupper($profile_id) . '_TIME') < time() - 3600 * 24) {
$profile = $this->get_profile($profile_id);
$sql_data_array = array(array('config_key' => strtoupper($profile_id) . '_TIME', 'config_value' => time()), array('config_key' => strtoupper($profile_id) . '_ADDRESS', 'config_value' => $profile[0]['input_fields']['address_override']));
$this->save_config($sql_data_array);
$address_override = $profile[0]['input_fields']['address_override'] == '0' ? true : false;
} else {
$address_override = $this->get_config(strtoupper($profile_id) . '_ADDRESS') == '0' ? true : false;
}
}
if ($cart === false && $approval === false && $address_override === false || $order_exists === true || $this->code == 'paypalinstallment') {
$itemList->setShippingAddress($shipping_address);
}
if ($this->code == 'paypalinstallment') {
// set payment address
$payment_address = new Address();
$payment_address->setLine1($this->encode_utf8($order->billing['street_address']))->setCity($this->encode_utf8($order->billing['city']))->setState($this->encode_utf8($order->billing['state'] != '' ? xtc_get_zone_code($order->billing['country_id'], $order->billing['zone_id'], $order->billing['state']) : ''))->setPostalCode($this->encode_utf8($order->billing['postcode']))->setCountryCode($this->encode_utf8($order->billing['country']['iso_code_2']));
if ($order->billing['suburb'] != '') {
$payment_address->setLine2($this->encode_utf8($order->billing['suburb']));
}
$payer_info->setBillingAddress($payment_address)->setShippingAddress($shipping_address)->setEmail($this->encode_utf8($order->customer['email_address']))->setFirstName($this->encode_utf8($order->delivery['firstname']))->setLastName($this->encode_utf8($order->delivery['lastname']));
$payer->setPayerInfo($payer_info);
}
// set transaction
$transaction = new Transaction();
$transaction->setAmount($this->amount)->setItemList($itemList)->setDescription($this->encode_utf8(STORE_NAME))->setInvoiceNumber(uniqid());
// set payment
$payment = new Payment();
$payment->setIntent($this->transaction_type)->setPayer($payer)->setRedirectUrls($redirectUrls)->setTransactions(array($transaction))->setCreateTime(time());
if (isset($profile_id) && $profile_id != '') {
$payment->setExperienceProfileId($profile_id);
}
try {
$payment->create($apiContext);
$_SESSION['paypal']['paymentId'] = $payment->getId();
$approval_link = $payment->getApprovalLink();
if ($approval === false) {
xtc_redirect($approval_link);
} else {
return $approval_link;
}
} catch (Exception $ex) {
$this->LoggingManager->log(print_r($ex, true), 'DEBUG');
unset($_SESSION['paypal']);
if ($cart === true) {
xtc_redirect(xtc_href_link(FILENAME_SHOPPING_CART, 'payment_error=' . $this->code, 'SSL'));
} elseif ($this->code != 'paypalplus') {
xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, 'payment_error=' . $this->code, 'SSL'));
}
}
}
示例5: createBillingAgreement
public function createBillingAgreement($planId, $shippingAddress, $billingAddress, $productName, $cartSummary, $cardDetails, $apiContext)
{
$billingPlanDefaultValues = $this->getBillingPlanDefaultValues();
$billingAgreement = new Agreement();
$billingAgreement->setName('Billing Agreement For ' . $productName);
$billingAgreement->setDescription($cartSummary->paymentPlanTitle);
$startDate = new Zend_Date();
$startDate->addDay($billingPlanDefaultValues->startDateInterval);
$billingAgreement->setStartDate($startDate->get(Zend_Date::ISO_8601));
$payerInfo = new PayerInfo();
$payerInfo->setFirstName($billingAddress->firstname);
$payerInfo->setLastName($billingAddress->lastname);
$payerInfo->setEmail($billingAddress->emailAddress);
/* Fields not supported yet */
//$payerInfo->setEmail($cart->address->billing['billing_email']);
//$payerInfo->setPhone($cart->address->billing['billing_contactNo']);
/* Get a MALFORMED_REQUEST error when using this field */
//$payerInfo->setCountryCode($cart->address->billing['billing_countryCode']);
$cardName = $cardDetails->cardName;
$cardNumber = $cardDetails->cardNumber;
$cardType = strtolower($cardDetails->cardType);
$cardExpiryMonth = $cardDetails->cardExpiryMonth;
$cardExpiryYear = $cardDetails->cardExpiryYear;
$cardSecurityCode = $cardDetails->cardSecurityCode;
$nameParser = new Om_Model_Name();
$name = $nameParser->parse_name($cardName);
$card = new CreditCard();
$card->setType($cardType);
$card->setNumber($cardNumber);
$card->setExpireMonth($cardExpiryMonth);
$card->setExpireYear($cardExpiryYear);
$card->setCvv2($cardSecurityCode);
$card->setFirstName($name['fname']);
$card->setLastName($name['lname']);
$fundingInstrument = new FundingInstrument();
$fundingInstrument->setCreditCard($card);
$payer = new Payer();
$payer->setPaymentMethod("credit_card");
$payer->setFundingInstruments(array($fundingInstrument));
$payer->setPayerInfo($payerInfo);
$billingAgreement->setPayer($payer);
$shippingAddressPayPal = new Address();
$shippingAddressPayPal->setLine1($shippingAddress->addressLine1);
$shippingAddressPayPal->setLine2($shippingAddress->addressLine2 . ' ' . $shippingAddress->addressLine3);
$shippingAddressPayPal->setCity($shippingAddress->city);
$shippingAddressPayPal->setCountryCode($shippingAddress->getCountry()->code);
$shippingAddressPayPal->setPostalCode($shippingAddress->postcode);
$shippingAddressPayPal->setState($shippingAddress->county);
$shippingAddressPayPal->setPhone($shippingAddress->contactNumber);
$billingAgreement->setShippingAddress($shippingAddressPayPal);
$plan = new Plan();
$plan->setId($planId);
$billingAgreement->setPlan($plan);
return $billingAgreement->create($apiContext);
}
示例6: payWithPaypal
public function payWithPaypal()
{
//purchase parameters
$mmnumber = Input::get('number');
$apikey = Input::get('apikey');
$amounttosend = Input::get('amount');
$currency = Input::get('currency');
$item = Input::get('item_name');
$cancel_url = Input::get('cancel_url');
$confirm_url = Input::get('confirm_url');
// $cno = Input::get('cardnumber');
$developers = Developer::where('dev_key', '=', $apikey)->where('dev_status', '=', 1)->limit(1)->get();
if ($developers != null) {
foreach ($developers as $developer) {
$mmnumber = $developer->dev_email . ' | ' . $developer->dev_number . ' | ' . $developer->dev_username;
$type = $developer->dev_paymentprovider;
// echo $mmnumber;
// echo '<BR/>'.$type;
}
} else {
Redirect::away($cancel_url);
}
$charges = new PlatformCharges($amounttosend, $currency, $type);
// $desc = $charges->getReceiverType($type);
Session::set('destProvider', $type);
Session::set('destination', $mmnumber);
$payer = new Payer();
$payer->setPaymentMethod('paypal');
// Valid Values: ["credit_card", "bank", "paypal", "pay_upon_invoice", "carrier"]
//TODO:: try to deduce the receiver type (email or number) and set the payerinfo data correctly for consistency
$payerInfo = new PayerInfo();
$payerInfo->setFirstName($mmnumber);
//used to represent the receiver name/number/email
$payerInfo->setLastName('Item: ');
//used to pass the transaction type in the request
$payer->setPayerInfo($payerInfo);
$item_1 = new Item();
$item_1->setName('Item purchase')->setDescription("Purchase made for {$item}")->setCurrency('USD')->setQuantity(1)->setPrice($charges->getDueAmount('pp', $type));
// unit price
// add item to list
$item_list = new ItemList();
$item_list->setItems(array($item_1));
$amount = new Amount();
$amount->setCurrency('USD')->setTotal($charges->getDueAmount('pp', $type));
$transaction = new Transaction();
$transaction->setAmount($amount)->setItemList($item_list)->setDescription('Payment for $item');
$redirect_urls = new RedirectUrls();
$redirect_urls->setReturnUrl(URL::route('api/merchantapi/paypalconfirm'))->setCancelUrl(URL::route('api/merchantapi/paypalcancel'));
$payment = new Payment();
$payment->setIntent('sale')->setPayer($payer)->setRedirectUrls($redirect_urls)->setTransactions(array($transaction));
try {
$payment->create($this->_api_context);
foreach ($payment->getLinks() as $link) {
if ($link->getRel() == 'approval_url') {
$redirect_url = $link->getHref();
break;
}
}
// var_dump($payment->getLinks());
// var_dump($redirect_url);
// add payment ID to session
Session::put('paypal_payment_id', $payment->getId());
header('Location: ' . $redirect_url);
exit;
// return isset($redirect_url)?Redirect::away($redirect_url): "Error!!Paypal Checkout error";
} catch (\PayPal\Exception\PPConnectionException $ex) {
if (\Config::get('app.debug')) {
echo "Exception: " . $ex->getMessage() . PHP_EOL;
$err_data = json_decode($ex->getData(), true);
return Redirect::route($cancel_url)->with('alertError', 'Connection error. $err_data');
exit;
} else {
return Redirect::route($cancel_url)->with('alertError', 'Connection error occured. Please try again later. ' . $ex->getMessage());
// die('Some error occurred, sorry for the inconvenience. Our team has been notified to correct this error.');
}
} catch (Exception $ex) {
return Redirect::route($cancel_url)->with('alertError', 'Error! ' . $ex->getMessage());
}
}
示例7: pay
//.........这里部分代码省略.........
sleep(3);
echo json_encode(array("error" => false, "url" => "index.php/Paypal/payment_successful?paymentId=" . $paymentID . "&PayerID=" . $userID));
return;
} else {
if ($paymentChoice === "cash") {
$paymentID = "CASH-" . $this->randomString();
$this->paypal_history_model->add($paymentID, $userID, $_COOKIE['cart'], "", $this->time->get_timestamp(), "created");
// Aggiungiamo la pre-iscrizione al DB (se necessario)
foreach ($cartItems as $item) {
$courseID = $item['courseID'];
$payment = $this->payment_model->get_payment($userID, $courseID);
if (empty($payment)) {
$this->payment_model->add($userID, $courseID);
}
}
sleep(3);
echo json_encode(array("error" => false, "url" => "index.php/Paypal/payment_successful?paymentId=" . $paymentID . "&PayerID=" . $userID));
return;
} else {
if ($paymentChoice === "creditCard") {
$userInfo = $this->userinfo_model->get($userID);
$payer = new Payer();
$payerInfo = new PayerInfo();
if (array_key_exists('name', $userInfo)) {
$payerInfo->setFirstName($userInfo['name']);
}
if (array_key_exists('surname', $userInfo)) {
$payerInfo->setLastName($userInfo['surname']);
}
if (array_key_exists('birthdate', $userInfo)) {
$payerInfo->setBirthDate($userInfo['birthdate']);
}
$payerInfo->setPayerId($userID);
$payer->setPayerInfo($payerInfo);
$payer->setPaymentMethod('paypal');
$amount = new Amount();
$amount->setCurrency('EUR');
$amount->setTotal($total);
$transaction = new Transaction();
$transaction->setAmount($amount);
$itemList = new ItemList();
foreach ($totalItems as $cartItem) {
$item = new Item();
$item->setName($cartItem['item']);
$item->setDescription($cartItem['description']);
$item->setQuantity(1);
$item->setCurrency("EUR");
$item->setPrice($cartItem['price']);
$itemList->addItem($item);
}
$transaction->setItemList($itemList);
$payment = new Payment();
$payment->setIntent('sale');
$payment->setPayer($payer);
$payment->setTransactions(array($transaction));
// Set redirects URLs
$redirectUrls = new RedirectUrls();
$baseUrl = "https://www.reseed.it/index.php/";
$redirectUrls->setReturnUrl($baseUrl . "Paypal/payment_successful")->setCancelUrl($baseUrl . "Paypal/payment_cancelled");
$payment->setRedirectUrls($redirectUrls);
try {
// Prendiamo i docenti di tutti i corsi
$all_teachers = array();
foreach ($this->course_teachers_model->get_all_teachers() as $course_teacher) {
$all_teachers[$course_teacher['courseID']] = $course_teacher['teacherID'];
}
示例8: buildPayer
/**
* Build Payer for payment
*
* @param $quote
* @return Payer
*/
protected function buildPayer($quote)
{
$payer = new Payer();
$payer->setPaymentMethod("paypal");
$payerInfo = $this->buildPayerInfo($quote);
if ($payerInfo) {
$payer->setPayerInfo($payerInfo);
}
return $payer;
}