本文整理汇总了PHP中Transaction::setCurrency方法的典型用法代码示例。如果您正苦于以下问题:PHP Transaction::setCurrency方法的具体用法?PHP Transaction::setCurrency怎么用?PHP Transaction::setCurrency使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Transaction
的用法示例。
在下文中一共展示了Transaction::setCurrency方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Account
// This example uses an existing account
$accountId = $argv[1];
$dryrun = $argv[2];
print "accountId is {$accountId} \n";
print "dryrun is {$dryrun} \n";
$account = new Account();
$return = $account->fetchByMerchantAccountId($accountId);
$customer = $return['data']->account;
// This example is assuming we already know it's the default PM and type is Credit Card
$pm = $customer->paymentMethods[0];
$nv = new NameValuePair();
$nv->setName('CVN');
$nv->setValue('123');
$pm->setNameValues(array($nv));
$transaction = new Transaction();
$transaction->setCurrency('USD');
$transaction->setMerchantTransactionId('testTrx-' . rand(10000, 99999));
$transaction->setAccount($customer);
$transaction_lineItem0 = new TransactionItem();
$transaction_lineItem0->setSku('RMMTEST002');
$transaction_lineItem0->setName('LineItem 1');
$transaction_lineItem0->setMerchantAutoBillItemId('foobar');
$transaction_lineItem0->setPrice('99.99');
$transaction_lineItem0->setQuantity('1');
// Campaign Code can be assigned to each individual line item:
$transaction_lineItem0->setCampaignCode('promo2');
$lineitems = array($transaction_lineItem0);
$transaction->setTransactionItems($lineitems);
$transaction->setSourcePaymentMethod($pm);
// we can choose to send email for one-time transactions, or not
$sendEmailNotification = 1;
示例2: rand
$pm->setMerchantPaymentMethodId('VINTESTPM-' . rand(10000, 99999));
// Unique payment method id
$pm->setType('HostedPage');
$hostedPageInfo = new HostedPage();
$hostedPageInfo->setCountryCode('MY');
$hostedPageInfo->setLanguage('en');
$hostedPageInfo->setReturnUrl('http://www.mysite.co.my/PaymentReturn.php');
// specify a page on your site customer will be redirected to after completing the MOLPay payment
$hostedPageInfo->setProcessorPaymentMethodId('all');
// Customer can choose any payment method type at MOLPay
$provider = new PaymentProvider();
$provider->setName('MOLPay');
$hostedPageInfo->setPaymentProvider($provider);
$pm->setHostedPage($hostedPageInfo);
$transaction = new Transaction();
$transaction->setCurrency('MYR');
// Unique transaction ID, use prefix to tell transactions apart from the subscription transactions
$transaction->setMerchantTransactionId('VINTEST-' . rand(10000, 99999));
$transaction->setAccount($account);
$transaction->setSourcePaymentMethod($pm);
//Create purchase line items. This can also be created by looking up a CashBox Product
$transaction_lineItem0 = new TransactionItem();
$transaction_lineItem0->setSku('MYPRODUCT001');
// If using a CashBox Product, specify the Product's ID here
$transaction_lineItem0->setName('Digital Magazine');
$transaction_lineItem0->setPrice('4.99');
$transaction_lineItem0->setQuantity('1');
$transaction_lineItem0->setTaxClassification('DM010100');
// Specify appropriate Avalara TaxCode here
// Campaign Code can be specified for each individual line item:
//$transaction_lineItem0->setCampaignCode('promo2');
示例3: handleIpn
/**
* Verifica se uma notificação IPN é válida, fazendo a autenticação
* da mensagem segundo o protocolo de segurança do serviço.
*
* @param array $message Um array contendo a notificação recebida.
* @return boolean TRUE se a notificação for autência, ou FALSE se não for.
*
*/
function handleIpn(array $message)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $this->endpoint);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_SSLVERSION, 6);
//curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
//curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($message));
$response = curl_exec($curl);
$error = curl_error($curl);
$errno = curl_errno($curl);
curl_close($curl);
if (!empty($error) || $errno > 0 || $response != 'VERIFIED') {
return array('error' => 'Not verified', 'errors' => $error);
}
if ($_POST['receiver_email'] != $this->getReceiverEmail()) {
return array('error' => 'Receiver mail is different', 'errors' => array('expected' => $this->receiverEmail, 'returned' => $_POST['receiver_email']));
}
$arr = array_merge(array('txn_id' => null, 'txn_type' => null, 'payment_status' => null, 'pending_reason' => null, 'reason_code' => null, 'custom' => null, 'invoice' => null, 'address_country' => null, 'address_city' => null, 'address_country_code' => null, 'address_name' => null, 'address_state' => null, 'address_status' => null, 'address_street' => null, 'address_zip' => null, 'contact_phone' => null, 'first_name' => null, 'last_name' => null, 'business_name' => null, 'payer_email' => null, 'payer_id' => null, 'mc_currency' => null, 'mc_gross' => null, 'mc_fee' => null, 'mc_handling' => null, 'mc_shipping' => null, 'tax' => null), $message);
//$this->ipnLog("....");
//$this->ipnLog(json_encode($arr));
$notification = new Notification();
$notification->setTxnId($arr['txn_id']);
$notification->setTxnType($arr['txn_type']);
$notification->setReceiverEmail($arr['receiver_email']);
$notification->setPaymentStatus($arr['payment_status']);
$notification->setPendingReason($arr['pending_reason']);
$notification->setReasonCode($arr['reason_code']);
$notification->setCustom($arr['custom']);
$notification->setInvoice($arr['invoice']);
$customer = new Customer();
$customer->setAddressCountry($arr['address_country']);
$customer->setAddressCity($arr['address_city']);
$customer->setAddressCountryCode($arr['address_country_code']);
$customer->setAddressName($arr['address_name']);
$customer->setAddressState($arr['address_state']);
$customer->setAddressStatus($arr['address_status']);
$customer->setAddressStreet($arr['address_street']);
$customer->setAddressZip($arr['address_zip']);
$customer->setContactPhone($arr['contact_phone']);
$customer->setFirstName($arr['first_name']);
$customer->setLastName($arr['last_name']);
$customer->setBusinessName($arr['business_name']);
$customer->setEmail($arr['payer_email']);
$customer->setPaypalId($arr['payer_id']);
$transaction = new Transaction();
$transaction->setId(null);
$transaction->setTxnId($arr['txn_id']);
$transaction->setTxnType($arr['txn_type']);
$transaction->setPaymentStatus($arr['payment_status']);
$transaction->setPendingReason($arr['pending_reason']);
$transaction->setReasonCode($arr['reason_code']);
$transaction->setCustom($arr['custom']);
$transaction->setInvoice($arr['invoice']);
$transaction->setPayerId($arr['payer_id']);
$transaction->setCurrency($arr['mc_currency']);
$transaction->setGross($arr['mc_gross']);
$transaction->setFee($arr['mc_fee']);
$transaction->setHandling($arr['mc_handling']);
$transaction->setShipping($arr['mc_shipping']);
$transaction->setTax($arr['tax']);
return array('notification' => $notification, 'customer' => $customer, 'transaction' => $transaction);
}
示例4: prepay
function prepay($autobill)
{
// Only use sparse object, so all data members are not over-written.
$sparseAccount = new Account();
$sparseAccount->merchantAccountId = $autobill->account->merchantAccountId;
$fetchedPaymentMethod = $autobill->account->paymentMethods[0];
// Only use sparse object, so all data members are not over-written.
$sparsePaymentMethod = new PaymentMethod();
$sparsePaymentMethod->merchantPaymentMethodId = $fetchedPaymentMethod->merchantPaymentMethodId;
$transaction = new Transaction();
$transaction->setCurrency('USD');
$transaction->setSourcePaymentMethod($sparsePaymentMethod);
$transaction->setAccount($sparseAccount);
// loop through the cart on server side to add items.
$transaction_lineitem1 = new TransactionItem();
$transaction_lineitem1->setSku($autobill->items[0]->product->merchantProductId);
$transaction_lineitem1->setName('PRE-PAY:' . $autobill->items[0]->product->descriptions[0]->description);
$transaction_lineitem1->setPrice($autobill->items[0]->product->prices[0]->amount);
$transaction_lineitem1->setQuantity('1');
$lineitems = array($transaction_lineitem1);
$transaction->setTransactionItems($lineitems);
$sendEmailNotification = false;
$ignoreAvsPolicy = true;
$ignoreCvnPolicy = true;
$campaign = NULL;
$dryrun = false;
$response = $transaction->authCapture($sendEmailNotification, $ignoreAvsPolicy, $ignoreCvnPolicy, $campaign, $dryrun);
if ($response['returnCode'] != '200') {
print $response['returnCode'] . PHP_EOL;
print $response['returnString'] . PHP_EOL;
} else {
print "returnCode=" . $response['returnCode'] . PHP_EOL;
print "returnString=" . $response['returnString'] . PHP_EOL;
if ($response['returnCode'] == "200") {
$returnTransaction = $response['data']->transaction;
if ($returnTransaction->statusLog[0]->status == 'Authorized') {
print "Transaction approved\n";
print "Transaction with id " . $returnTransaction->merchantTransactionId . " was successfully captured";
return $returnTransaction->merchantTransactionId;
} else {
if ($returnTransaction->statusLog[0]->status == 'Cancelled') {
print "Transaction not approved \n";
print "Reason code is: ";
print $returnTransaction->statusLog[0]->creditCardStatus->authCode;
print "\n";
} else {
print "Error: Unexpected transaction status\n";
}
}
} else {
if ($response['returnCode'] == "202") {
print "Transaction cannot be processed due to taxes being temporarily unavailable\n";
} else {
if ($response['returnCode'] == "400") {
print "Transaction cannot be processed due to data validation error\n";
} else {
if ($response['returnCode'] == "402") {
print "Transaction cannot be processed due to transaction error\n";
} else {
if ($response['returnCode'] == "409") {
print "Transaction cannot be processed due to Failed AVS and CVN policy evaluation\n";
} else {
if ($response['returnCode'] == "410") {
print "Transaction cannot be processed due to not being able to perform AVS and CVN policy evaluation\n";
} else {
print "Error while making call to Vindicia CashBox\n";
}
}
}
}
}
}
}
}
开发者ID:sheller-vin,项目名称:CashBoxAPISamples,代码行数:74,代码来源:PrepayNonRecurringSubscriptionWithNewNonRecurringSubscription.php
示例5: createTransaction
function createTransaction($account, $merchantPaymentMethodId, $merchantTransactionId)
{
#-----------------------------------------------------------------------------------
# Process Transaction, setting Line Items so they will be helpful in providing
# a clear indication of what was being purchased, the cost per item and the
# price for each item, to be used for the first step in collecting information
# needed for Chargeback defense.
#
# 1) Line Item Detail (at time of transaction):
#
# a) Line Item Detail for One Time Transactions:
#
# First, note that at the time of the transaction, you are already logging Line Item
# information in TransactionItem entries on the Transaction in realtime.
#
# This function demonstrates setting of these Line Items in preparation for use as
# part of Chargeback defense, used in conjunction with the Activity Reporting which
# is subsequent sent to CashBox once Usage by the Cardholder has occurred.
#
#-----------------------------------------------------------------------------------
$transaction = new Transaction();
$transaction->setCurrency('USD');
# Specify Account to use:
$transaction->setAccount($account);
# Specify PaymentMethod to use:
# use a sparse local PaymentMethod object, only specify an identifier for CashBox
# to locate existing PaymentMethod:
$pm = new PaymentMethod();
$pm->setMerchantPaymentMethodId($merchantPaymentMethodId);
$transaction->setSourcePaymentMethod($pm);
# Specify merchantTransactionId to use:
$transaction->setMerchantTransactionId($merchantTransactionId);
# Considerations for Line Time Detail:
#
# 1) Descriptive name for the Product/SKU, ideally readable text clearly indicating:
# - Product name
# - Duration it is valid
# - What the Product/SKU applies to
#
# 2) Description field, set in the API as TransactionItem.name field, indicating:
# - How much it cost for 1 item
# - For what period the purchase is applicable
# - League or other identifying information.
#
# 3) Quantity should show how many were purchased.
# 4) The Amount for a single unit should be indicated in the Line Item.
#
# This will result in CashBox automatically setting the Transaction Amount to be
# the total of the extended price for each Line Item from the product of Quantity
# & Amount from each Line Item.
# Use a single Line Item for this sample:
$tx_lineItem0 = new TransactionItem();
$tx_lineItem0->setSku('WIDGET200');
# 1) Descriptive name
$tx_lineItem0->setName('600 Widgets ($3.30 for 200)');
# 2) Description field
$tx_lineItem0->setQuantity('3');
# 3) Quantity: how many were purchased
$tx_lineItem0->setPrice('3.30');
# 4) Amount for a single unit
# CashBox automatically computes extended price (3 X $3.30) & sets the
# Transaction amount to be the result, $9.90.
# Campaign Code can be assigned to each individual line item:
# $transaction_lineItem0->setCampaignCode('promo2');
$lineitems = array($tx_lineItem0);
$transaction->setTransactionItems($lineitems);
# we can choose to send email for one-time transactions, or not
$sendEmailNotification = true;
# use the default CashBox AVS and CVN policy
$ignoreAvsPolicy = false;
$ignoreCvnPolicy = false;
# Campaign Code can also be passed in to the call as a param to apply to all eligible items
$campaign = '';
# 'promo2';
$dryrun = false;
$response = $transaction->authCapture($sendEmailNotification, $ignoreAvsPolicy, $ignoreCvnPolicy, $campaign, $dryrun);
print_r($response);
$return_code = $response['returnCode'];
print "Transaction.authCapture Return Code is: {$return_code} \n";
$return_string = $response['returnString'];
print "Transaction.authCapture Return String is: {$return_string} \n";
$txAuthCapture_SoapId = $response['data']->return->soapId;
print "Transaction.authCapture soapId: " . $txAuthCapture_SoapId . PHP_EOL . PHP_EOL;
$txStatus = $response['data']->transaction->statusLog[0];
$status = $txStatus->status;
print "Transaction.authCapture status: " . $status . PHP_EOL;
$vinAVS = $txStatus->vinAVS;
print "Transaction.authCapture vinAVS: " . $vinAVS . PHP_EOL;
$ccStatus = $txStatus->creditCardStatus;
print_r($ccStatus);
$authCode = $ccStatus->authCode;
print "Transaction.authCapture authCode: " . $authCode . PHP_EOL;
$avsCode = $ccStatus->avsCode;
print "Transaction.authCapture avsCode: " . $avsCode . PHP_EOL;
$cvnCode = $ccStatus->cvnCode;
print "Transaction.authCapture cvnCode: " . $cvnCode . PHP_EOL;
$extendedCardAttributes = $ccStatus->extendedCardAttributes;
print "Transaction.authCapture extendedCardAttributes: " . PHP_EOL;
print_r($extendedCardAttributes);
}
示例6: finalize_paypal_AutoBill_then_transaction_auth_capture_Transaction_Items
function finalize_paypal_AutoBill_then_transaction_auth_capture_Transaction_Items($vid)
{
$autobill = new Autobill();
$response = $autobill->finalizePayPalAuth($vid, true);
if ($response['returnCode'] != '200') {
print 'Error finalizing autobill' . PHP_EOL;
print 'Soap Id = ' . $response['data']->return->soapId . PHP_EOL;
print 'Return Code = ' . $response['returnCode'] . PHP_EOL;
print 'Return String = ' . $response['returnString'] . PHP_EOL;
} else {
// You can obtain the paypal payer email address from the return object if you desire to persist this.
$response_object = $response['data'];
$auth_status = $response_object->authStatus;
$payPalEmail = $auth_status->payPalStatus->paypalEmail;
print 'Successfully paid for by ' . $payPalEmail;
//Get info from autobill transaction for use processing remaining cart items
$autobill = $response['data']->autobill;
$account = $autobill->account;
$paymentMethod = $autobill->paymentMethod;
$transaction = new Transaction();
$transaction->setCurrency('USD');
$transaction->setSourcePaymentMethod($paymentMethod);
$transaction->setAccount($account);
$transaction->setShippingAddress($account->shippingAddress);
// loop through the cart on server side to add items.
$transaction_lineitem1 = new TransactionItem();
$transaction_lineitem1->setSku('club cover');
$transaction_lineitem1->setName('club cover');
$transaction_lineitem1->setPrice('4.99');
$transaction_lineitem1->setQuantity('1');
$transaction_lineitem2 = new TransactionItem();
$transaction_lineitem2->setSku('shipping');
$transaction_lineitem2->setName('shipping');
$transaction_lineitem2->setPrice('5.00');
$transaction_lineitem2->setQuantity('1');
$transaction_lineitem2->setTaxClassification('NT');
$lineitems = array($transaction_lineitem1, $transaction_lineitem2);
$transaction->setTransactionItems($lineitems);
$billPayPalImmediately = new NameValuePair();
$billPayPalImmediately->setName('vin:BillPayPalImmediately');
$billPayPalImmediately->setValue('true');
$autobillVID = new NameValuePair();
$autobillVID->setName('vin:AutoBillVID');
$autobillVID->setValue('none');
$transaction->setNameValues(array($billPayPalImmediately, $autobillVID));
$sendEmailNotification = false;
$ignoreAvsPolicy = true;
$ignoreCvnPolicy = true;
$campaign = NULL;
$dryrun = false;
$response = $transaction->authCapture($sendEmailNotification, $ignoreAvsPolicy, $ignoreCvnPolicy, $campaign, $dryrun);
if ($response['returnCode'] != '200') {
print $response['returnCode'] . PHP_EOL;
print $response['returnString'] . PHP_EOL;
} else {
print "returnCode=" . $response['returnCode'] . PHP_EOL;
print "returnString=" . $response['returnString'] . PHP_EOL;
if ($response['returnCode'] == "200") {
$returnTransaction = $response['data']->transaction;
if ($returnTransaction->statusLog[0]->status == 'Authorized') {
print "Transaction approved\n";
print "Transaction with id " . $returnTransaction->merchantTransactionId . " was successfully captured";
return $returnTransaction->merchantTransactionId;
} else {
if ($returnTransaction->statusLog[0]->status == 'Cancelled') {
print "Transaction not approved \n";
print "Reason code is: ";
print $returnTransaction->statusLog[0]->creditCardStatus->authCode;
print "\n";
} else {
print "Error: Unexpected transaction status\n";
}
}
} else {
if ($response['returnCode'] == "202") {
print "Transaction cannot be processed due to taxes being temporarily unavailable\n";
} else {
if ($response['returnCode'] == "400") {
print "Transaction cannot be processed due to data validation error\n";
} else {
if ($response['returnCode'] == "402") {
print "Transaction cannot be processed due to transaction error\n";
} else {
if ($response['returnCode'] == "409") {
print "Transaction cannot be processed due to Failed AVS and CVN policy evaluation\n";
} else {
if ($response['returnCode'] == "410") {
print "Transaction cannot be processed due to not being able to perform AVS and CVN policy evaluation\n";
} else {
print "Error while making call to Vindicia CashBox\n";
}
}
}
}
}
}
}
}
}
示例7: rand
<?php
require_once 'Vindicia/Soap/Vindicia.php';
require_once 'Vindicia/Soap/Const.php';
$testId = rand(1, 1000000);
// random number for some unique IDs
$tx = new Transaction();
$tx->setMerchantTransactionId('DRYRUN-' . $testId);
$acct = new Account();
$acct->setMerchantAccountId('jdoe101');
// existing customer account ID
$tx->setAccount($acct);
$tx->setCurrency('USD');
$txItem1 = new TransactionItem();
$txItem1->setSku('ppv-movie-us-prem');
$txItem1->setName('Premium Pay-per-view movie (English)');
$txItem1->setPrice(5.99);
$txItem1->setQuantity(1);
$txItem1->setTaxClassification('DM030000');
$txItem1->setCampaignCode('PPV2015US');
$txItem2 = new TransactionItem();
$txItem2->setSku('smAccess2015');
$txItem2->setName('Social Media Chat Access');
$txItem2->setPrice(2.0);
$txItem2->setQuantity(1);
$txItem2->setTaxClassification('D0000000');
$tx->setTransactionItems(array($txItem1, $txItem2));
$addr = new Address();
$addr->setAddr1('809 Cuesta Dr');
$addr->setCity('Mountain View');
$addr->setDistrict('CA');