本文整理汇总了PHP中PayPal\Api\Transaction::setDescription方法的典型用法代码示例。如果您正苦于以下问题:PHP Transaction::setDescription方法的具体用法?PHP Transaction::setDescription怎么用?PHP Transaction::setDescription使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PayPal\Api\Transaction
的用法示例。
在下文中一共展示了Transaction::setDescription方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: makePaymentUsingPayPal
public function makePaymentUsingPayPal($total, $currency, $paymentDesc, $returnUrl)
{
$payer = new Payer();
$payer->setPaymentMethod('paypal');
// specify the payment ammount
$amount = new Amount();
$amount->setCurrency($currency);
$amount->setTotal($total);
// ###Transaction
// A transaction defines the contract of a
// payment - what is the payment for and who
// is fulfilling it. Transaction is created with
// a `Payee` and `Amount` types
$transaction = new Transaction();
$transaction->setAmount($amount);
$transaction->setDescription($paymentDesc);
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl($returnUrl . '&success=true');
$redirectUrls->setCancelUrl($returnUrl . '&success=false');
$payment = new Payment();
$payment->setRedirectUrls($redirectUrls);
$payment->setIntent('sale');
$payment->setPayer($payer);
$payment->setTransactions(array($transaction));
try {
$payment->create($this->apiContext);
} catch (Exception $e) {
throw new Exception($e);
}
return $payment;
}
示例2: init
/**
* @param PaymentInterface $payment
*/
public function init(PaymentInterface $payment)
{
$credentials = new OAuthTokenCredential($this->options['client_id'], $this->options['secret']);
$apiContext = new ApiContext($credentials);
$apiContext->setConfig(['mode' => $this->options['mode']]);
$payer = new Payer();
$payer->setPaymentMethod('paypal');
$amount = new Amount();
$amount->setCurrency($this->options['currency']);
$amount->setTotal($payment->getPaymentSum());
$item = new Item();
$item->setName($payment->getDescription());
$item->setCurrency($amount->getCurrency());
$item->setQuantity(1);
$item->setPrice($amount->getTotal());
$itemList = new ItemList();
$itemList->addItem($item);
$transaction = new Transaction();
$transaction->setAmount($amount);
$transaction->setDescription($payment->getDescription());
$transaction->setItemList($itemList);
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl($payment->getExtraData('return_url'));
$redirectUrls->setCancelUrl($payment->getExtraData('cancel_url'));
$paypalPayment = new Payment();
$paypalPayment->setIntent('sale');
$paypalPayment->setPayer($payer);
$paypalPayment->setTransactions([$transaction]);
$paypalPayment->setRedirectUrls($redirectUrls);
$paypalPayment->create($apiContext);
$payment->setExtraData('paypal_payment_id', $paypalPayment->getId());
$payment->setExtraData('approval_link', $paypalPayment->getApprovalLink());
}
示例3: makePaymentUsingCC
/**
* Create a payment using a previously obtained
* credit card id. The corresponding credit
* card is used as the funding instrument.
*
* @param string $creditCardId credit card id
* @param string $total Payment amount with 2 decimal points
* @param string $currency 3 letter ISO code for currency
* @param string $paymentDesc
*/
function makePaymentUsingCC($creditCardId, $total, $currency, $paymentDesc)
{
$ccToken = new CreditCardToken();
$ccToken->setCreditCardId($creditCardId);
$fi = new FundingInstrument();
$fi->setCreditCardToken($ccToken);
$payer = new Payer();
$payer->setPaymentMethod("credit_card");
$payer->setFundingInstruments(array($fi));
// Specify the payment amount.
$amount = new Amount();
$amount->setCurrency($currency);
$amount->setTotal($total);
// ###Transaction
// A transaction defines the contract of a
// payment - what is the payment for and who
// is fulfilling it. Transaction is created with
// a `Payee` and `Amount` types
$transaction = new Transaction();
$transaction->setAmount($amount);
$transaction->setDescription($paymentDesc);
$payment = new Payment();
$payment->setIntent("sale");
$payment->setPayer($payer);
$payment->setTransactions(array($transaction));
$payment->create(new Paypalinit());
return $payment;
}
示例4: createTransaction
/**
* Creates a PayPal transaction object for given order
*
* @param OrderInterface $order
*
* @return Transaction
*/
protected function createTransaction(OrderInterface $order) : Transaction
{
$transaction = new Transaction();
$transaction->setAmount($this->createAmount($order));
$transaction->setItemList($this->createItemList($order));
$transaction->setDescription($order->getId());
return $transaction;
}
示例5: createTransaction
/**
* @param Amount $amount
* @param ItemList $itemLists
* @param string $invoiceNumber
* @param string $description
*
* @return Transaction
*/
public static function createTransaction(Amount $amount, ItemList $itemLists, $invoiceNumber, $description)
{
$transaction = new Transaction();
$transaction->setAmount($amount);
$transaction->setItemList($itemLists);
$transaction->setInvoiceNumber($invoiceNumber);
$transaction->setDescription($description);
return $transaction;
}
示例6: createTransaction
public static function createTransaction()
{
$transaction = new Transaction();
$transaction->setAmount(AmountTest::createAmount());
$transaction->setDescription(self::$description);
$transaction->setItemList(ItemListTest::createItemList());
$transaction->setPayee(PayeeTest::createPayee());
$transaction->setRelatedResources(array(RelatedResourcesTest::createRelatedResources()));
return $transaction;
}
示例7: createTransaction
public static function createTransaction()
{
$transaction = new Transaction();
$transaction->setAmount(AmountTest::createAmount());
$transaction->setDescription(self::$description);
$transaction->setInvoiceNumber(self::$invoiceNumber);
$transaction->setCustom(self::$custom);
$transaction->setSoftDescriptor(self::$softDescriptor);
$transaction->setItemList(ItemListTest::createItemList());
$transaction->setPayee(PayeeTest::createPayee());
$transaction->setRelatedResources(array(RelatedResourcesTest::createRelatedResources()));
return $transaction;
}
示例8: paypal
function paypal($data)
{
try {
foreach ($data as $k => $v) {
${$k} = $v;
}
include_once 'config.paypal.php';
$apiContext = new ApiContext(new OAuthTokenCredential(CLIENT_ID, CLIENT_SECRET));
list($m, $y) = explode("/", $card_expiry);
$card = new CreditCard();
$card->setNumber($card_number);
$card->setType(strtolower($card_type));
$card->setExpireMonth($m);
$card->setExpireYear($y);
$card->setCvv2($card_cvv);
$card->setFirstName($first_name);
$card->setLastName($last_name);
$fi = new FundingInstrument();
$fi->setCreditCard($card);
$payer = new Payer();
$payer->setPaymentMethod('credit_card');
$payer->setFundingInstruments(array($fi));
$amount = new Amount();
$amount->setCurrency($currency);
$amount->setTotal($price);
$transaction = new Transaction();
$transaction->setAmount($amount);
$transaction->setDescription('Enter your card details and proceed');
$payment = new Payment();
$payment->setIntent('sale');
$payment->setPayer($payer);
$payment->setTransactions(array($transaction));
$res = json_decode($payment->create($apiContext));
$this->save($data, __FUNCTION__, $res, 1);
return json_encode(["status" => true, "msg" => sprintf("Your payment has been %s", $res->state)]);
} catch (Exception $e) {
if ($e instanceof PPConfigurationException) {
} elseif ($e instanceof PPConnectionException) {
} elseif ($e instanceof PayPal\Exception\PayPalConnectionException) {
$res = json_decode($e->getData(), 1);
$this->save($data, __FUNCTION__, $res, 0);
$msg = array_shift(isset($res["details"]) ? $res["details"] : []);
return json_encode(["status" => false, "msg" => $res["name"] == "UNKNOWN_ERROR" || empty($msg["issue"]) ? "An unknown error has occurred" : sprintf("%s %s", ["cvv2" => "CVV2", "expire_year" => "Card expiration", "credit_card" => "", "type" => "Invalid credit card number or", "number" => "Credit card number", "expire_month" => "Expiration month"][end(explode(".", $msg["field"]))], strtolower($msg["issue"]))]);
} else {
throw $e;
}
}
}
示例9: createNewPayment
public static function createNewPayment()
{
$payer = new Payer();
$payer->setPaymentMethod("credit_card");
$payer->setFundingInstruments(array(FundingInstrumentTest::createFundingInstrument()));
$transaction = new Transaction();
$transaction->setAmount(AmountTest::createAmount());
$transaction->setDescription("This is the payment description.");
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl("http://localhost/return");
$redirectUrls->setCancelUrl("http://localhost/cancel");
$payment = new Payment();
$payment->setIntent("sale");
$payment->setRedirectUrls($redirectUrls);
$payment->setPayer($payer);
$payment->setTransactions(array($transaction));
return $payment;
}
示例10: get_payment_url
/**
* When you have configured the payment properly this will give you a URL that you can redirect your visitor to,
* so that he can pay the desired amount.
*
* @param string $url_format
* @return string
*/
public function get_payment_url($url_format)
{
if (!is_array($this->payment_provider_auth_config[self::PROVIDER_NAME]) || !isset($this->payment_provider_auth_config[self::PROVIDER_NAME]['clientid']) || !isset($this->payment_provider_auth_config[self::PROVIDER_NAME]['secret'])) {
throw new \Exception('Auth Config for Provider ' . self::PROVIDER_NAME . ' is not set.', 1394795187);
}
$total_price = $this->order->get_total_price();
if ($total_price == 0) {
throw new \Exception('Total price is 0. Provider ' . self::PROVIDER_NAME . ' does not support free payments.', 1394795478);
}
$api_context = new ApiContext(new OAuthTokenCredential($this->payment_provider_auth_config[self::PROVIDER_NAME]['clientid'], $this->payment_provider_auth_config[self::PROVIDER_NAME]['secret']));
$api_context->setConfig(array('mode' => 'sandbox', 'http.ConnectionTimeOut' => 30, 'log.LogEnabled' => false));
$payer = new Payer();
$payer->setPaymentMethod("paypal");
$amount = new Amount();
$amount->setCurrency("EUR");
$amount->setTotal($this->order->get_total_price());
$transaction = new Transaction();
$transaction->setAmount($amount);
$transaction->setDescription($this->order->get_reason());
$transaction->setItemList($this->getItemList());
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl($this->get_success_url($url_format));
$redirectUrls->setCancelUrl($this->get_abort_url($url_format));
$payment = new \PayPal\Api\Payment();
$payment->setIntent("sale");
$payment->setPayer($payer);
$payment->setRedirectUrls($redirectUrls);
$payment->setTransactions(array($transaction));
$payment->create($api_context);
$payment_url = '';
foreach ($payment->getLinks() as $link) {
/** @var \PayPal\Api\Links $link */
if ($link->getRel() == 'approval_url') {
$payment_url = $link->getHref();
}
}
return $payment_url;
}
示例11: authorize
public static function authorize()
{
$addr = new Address();
$addr->setLine1("3909 Witmer Road");
$addr->setLine2("Niagara Falls");
$addr->setCity("Niagara Falls");
$addr->setState("NY");
$addr->setPostalCode("14305");
$addr->setCountryCode("US");
$addr->setPhone("716-298-1822");
$card = new CreditCard();
$card->setType("visa");
$card->setNumber("4417119669820331");
$card->setExpireMonth("11");
$card->setExpireYear("2019");
$card->setCvv2("012");
$card->setFirstName("Joe");
$card->setLastName("Shopper");
$card->setBillingAddress($addr);
$fi = new FundingInstrument();
$fi->setCreditCard($card);
$payer = new Payer();
$payer->setPaymentMethod("credit_card");
$payer->setFundingInstruments(array($fi));
$amount = new Amount();
$amount->setCurrency("USD");
$amount->setTotal("1.00");
$transaction = new Transaction();
$transaction->setAmount($amount);
$transaction->setDescription("This is the payment description.");
$payment = new Payment();
$payment->setIntent("authorize");
$payment->setPayer($payer);
$payment->setTransactions(array($transaction));
$paymnt = $payment->create();
$resArray = $paymnt->toArray();
return $authId = $resArray['transactions'][0]['related_resources'][0]['authorization']['id'];
}
示例12: callCreate
public function callCreate($clientId, $clientSecret, $orderId, $amount, $currency, $description, $returnUrl, $cancelUrl)
{
$oauthCredential = new OAuthTokenCredential($clientId, $clientSecret);
$apiContext = new ApiContext($oauthCredential);
$apiContext->setConfig(['mode' => $this->mode]);
$payer = new Payer();
$payer->setPaymentMethod('paypal');
$item = new Item();
$item->setName($description);
$item->setCurrency($currency);
$item->setPrice($amount);
$item->setQuantity(1);
$itemList = new ItemList();
$itemList->setItems(array($item));
$amountObject = new Amount();
$amountObject->setCurrency($currency);
$amountObject->setTotal($amount);
$transaction = new Transaction();
$transaction->setItemList($itemList);
$transaction->setAmount($amountObject);
$transaction->setDescription($description);
$transaction->setInvoiceNumber($orderId);
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl($returnUrl)->setCancelUrl($cancelUrl);
$payment = new Payment();
$payment->setIntent('sale');
$payment->setPayer($payer);
$payment->setRedirectUrls($redirectUrls);
$payment->setTransactions(array($transaction));
try {
$payment->create($apiContext);
} catch (\Exception $e) {
throw new PaymentException('PayPal Exception: ' . $e->getMessage());
}
$approvalUrl = $payment->getApprovalLink();
return $approvalUrl;
}
示例13: teszt
//.........这里部分代码省略.........
//SAMPLE 3
$payer = new Payer();
$payer->setPaymentMethod("paypal");
// ### Itemized information
// (Optional) Lets you specify item wise
// information
$item1 = new Item();
$item1->setName('Ground Coffee 40 oz')->setCurrency('USD')->setQuantity(1)->setPrice(7.5);
$item2 = new Item();
$item2->setName('Granola bars')->setCurrency('USD')->setQuantity(5)->setPrice(2);
$itemList = new ItemList();
$itemList->setItems(array($item1, $item2));
// ### Additional payment details
// Use this optional field to set additional
// payment information such as tax, shipping
// charges etc.
/* $details = new Details();
$details->setShipping(1.2)
->setTax(1.3)
->setSubtotal(17.50); */
// ### Amount
// Lets you specify a payment amount.
// You can also specify additional details
// such as shipping, tax.
/* $amount = new Amount();
$amount->setCurrency("USD")
->setTotal(20)
->setDetails($details); */
// ### Transaction
// A transaction defines the contract of a
// payment - what is the payment for and who
// is fulfilling it.
$transaction = new Transaction();
$transaction->setAmount($amount)->setItemList($itemList)->setDescription("Payment description");
// ->setInvoiceNumber('134');
//>setInvoiceNumber(uniqid());
// ### Redirect urls
// Set the urls that the buyer must be redirected to after
// payment approval/ cancellation.
//$baseUrl = getBaseUrl();
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl("http://localhost/yii-application/frontend/web/index.php?r=/cart/default/ordered")->setCancelUrl("http://localhost/yii-application/frontend/web/index.php?r=/cart/default/index");
// ### Payment
// A Payment Resource; create one using
// the above types and intent set to 'sale'
/* $payment = new Payment();
$payment->setIntent("sale")
->setPayer($payer)
->setRedirectUrls($redirectUrls)
->setTransactions(array($transaction)); */
$addr = new Address();
$addr->setLine1('52 N Main ST');
$addr->setCity('Johnstown');
$addr->setCountryCode('US');
$addr->setPostalCode('43210');
$addr->setState('OH');
$card = new CreditCard();
$card->setNumber('5110929378020149');
$card->setType('MASTERCARD');
$card->setExpireMonth('08');
$card->setExpireYear('2020');
$card->setCvv2('874');
$card->setFirstName('Nishanth');
$card->setLastName('Pininti');
$card->setBillingAddress($addr);
$fi = new FundingInstrument();
示例14: 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;
}
示例15: payThroughPayPal
/**
* Создаем платеж типа paypal
* в случае успеха возвращает массив с ид-платежа,
* токеном и редирект-урлом куда нужно направить пользователя для оплаты
*
* @param double $pay_sum
* @param string $paymentInfo
* @param string $sku - internal UNIT ID
*
* @return array | null
*/
public function payThroughPayPal($pay_sum, $paymentInfo, $sku = null)
{
set_time_limit(120);
$payer = new Payer();
$payer->setPaymentMethod('paypal');
$amount = new Amount();
$amount->setCurrency('USD');
$amount->setTotal($pay_sum);
$item1 = new Item();
$item1->setName($paymentInfo)->setCurrency('USD')->setQuantity(1)->setPrice($pay_sum);
// Ид товара/услуги на вашей стороне
if ($sku) {
$item1->setSku($sku);
}
$itemList = new ItemList();
$itemList->setItems([$item1]);
$transaction = new Transaction();
$transaction->setAmount($amount);
$transaction->setDescription('Payment to DirectLink');
$transaction->setItemList($itemList);
$transaction->setNotifyUrl($this->config['url.notify_url']);
//**
$redirect_urls = new RedirectUrls();
$redirect_urls->setReturnUrl($this->config['url.return_url']);
$redirect_urls->setCancelUrl($this->config['url.cancel_url']);
$payment = new Payment();
$payment->setIntent('sale');
$payment->setPayer($payer);
$payment->setTransactions([$transaction]);
$payment->setRedirectUrls($redirect_urls);
//$payment->setId('123456789'); //**
$payment->create($this->_apiContext);
//var_dump($payment); exit;
$links = $payment->getLinks();
foreach ($links as $link) {
if ($link->getMethod() == 'REDIRECT') {
$redirect_to = $link->getHref();
$token = time() . "_" . rand(100, 999);
$tmp = parse_url($redirect_to);
if (isset($tmp['query'])) {
parse_str($tmp['query'], $out);
if (isset($out['token'])) {
$token = $out['token'];
}
}
$paymentId = $payment->getId();
// ++ DEBUG LOG
$this->logging_queryes('paymentCreate_' . $paymentId . '.txt', $payment->toJSON());
// -- DEBUG LOG
return ['paymentId' => $paymentId, 'token' => $token, 'redirect_to' => $redirect_to];
}
}
return null;
}