本文整理匯總了C#中PayPal.PayPalAPIInterfaceService.PayPalAPIInterfaceServiceService.DoReferenceTransaction方法的典型用法代碼示例。如果您正苦於以下問題:C# PayPalAPIInterfaceServiceService.DoReferenceTransaction方法的具體用法?C# PayPalAPIInterfaceServiceService.DoReferenceTransaction怎麽用?C# PayPalAPIInterfaceServiceService.DoReferenceTransaction使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類PayPal.PayPalAPIInterfaceService.PayPalAPIInterfaceServiceService
的用法示例。
在下文中一共展示了PayPalAPIInterfaceServiceService.DoReferenceTransaction方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: Submit_Click
protected void Submit_Click(object sender, EventArgs e)
{
// Create request object
DoReferenceTransactionRequestType request = new DoReferenceTransactionRequestType();
populateRequestObject(request);
// Invoke the API
DoReferenceTransactionReq wrapper = new DoReferenceTransactionReq();
wrapper.DoReferenceTransactionRequest = request;
// Configuration map containing signature credentials and other required configuration.
// For a full list of configuration parameters refer in wiki page
// [https://github.com/paypal/sdk-core-dotnet/wiki/SDK-Configuration-Parameters]
Dictionary<string, string> configurationMap = Configuration.GetAcctAndConfig();
// Create the PayPalAPIInterfaceServiceService service object to make the API call
PayPalAPIInterfaceServiceService service = new PayPalAPIInterfaceServiceService(configurationMap);
// # API call
// Invoke the DoReferenceTransaction method in service wrapper object
DoReferenceTransactionResponseType doReferenceTxnResponse = service.DoReferenceTransaction(wrapper);
// Check for API return status
setKeyResponseObjects(service, doReferenceTxnResponse);
}
示例2: Submit_Click
protected void Submit_Click(object sender, EventArgs e)
{
// Create request object
DoReferenceTransactionRequestType request = new DoReferenceTransactionRequestType();
populateRequestObject(request);
// Invoke the API
DoReferenceTransactionReq wrapper = new DoReferenceTransactionReq();
wrapper.DoReferenceTransactionRequest = request;
PayPalAPIInterfaceServiceService service = new PayPalAPIInterfaceServiceService();
DoReferenceTransactionResponseType doReferenceTxnResponse = service.DoReferenceTransaction(wrapper);
// Check for API return status
setKeyResponseObjects(service, doReferenceTxnResponse);
}
示例3: CreateOrder
public ActionResult CreateOrder(string billingAgreementId, decimal amount, string description = null, bool capture = false)
{
var service = new PayPalAPIInterfaceServiceService();
var request = new DoReferenceTransactionReq
{
DoReferenceTransactionRequest = new DoReferenceTransactionRequestType
{
DoReferenceTransactionRequestDetails = new DoReferenceTransactionRequestDetailsType
{
PaymentAction = PaymentActionCodeType.AUTHORIZATION,
ReferenceID = billingAgreementId,
PaymentDetails = new PaymentDetailsType
{
OrderTotal = new BasicAmountType(CurrencyCodeType.USD, amount.ToString("f2")),
OrderDescription = description ?? "This is a thing that you bought"
}
}
}
};
var response = service.DoReferenceTransaction(request);
if (response.Ack == AckCodeType.SUCCESS)
{
var authorizationId = response.DoReferenceTransactionResponseDetails.PaymentInfo.TransactionID;
if (capture)
{
return CaptureOrder(authorizationId);
}
return RedirectToAction("OrderAuthorized", new { authorizationId = authorizationId });
}
else
{
foreach (var error in response.Errors)
{
ModelState.AddModelError("__FORM", error.LongMessage);
}
}
return View("Error");
}
示例4: DoReferenceTransactionAPIOperation
//#DoReferenceTransaction API Operation
//The DoReferenceTransaction API operation processes a payment from a buyer’s account, which is identified by a previous transaction.
public DoReferenceTransactionResponseType DoReferenceTransactionAPIOperation()
{
DoReferenceTransactionResponseType responseDoReferenceTransactionResponseType = new DoReferenceTransactionResponseType();
try
{
// Create the DoReferenceTransactionReq object
DoReferenceTransactionReq doReferenceTransaction = new DoReferenceTransactionReq();
// Information about the payment.
PaymentDetailsType paymentDetails = new PaymentDetailsType();
// The total cost of the transaction to the buyer. If shipping cost and
// tax charges are known, include them in this value. If not, this value
// should be the current subtotal of the order.
// If the transaction includes one or more one-time purchases, this field must be equal to
// the sum of the purchases. Set this field to 0 if the transaction does
// not include a one-time purchase such as when you set up a billing
// agreement for a recurring payment that is not immediately charged.
// When the field is set to 0, purchase-specific fields are ignored
//
// * `Currency ID` - You must set the currencyID attribute to one of the
// 3-character currency codes for any of the supported PayPal
// currencies.
// * `Amount`
BasicAmountType orderTotal = new BasicAmountType(CurrencyCodeType.USD, "3.00");
paymentDetails.OrderTotal = orderTotal;
// IPN URL
// * PayPal Instant Payment Notification is a call back system that is initiated when a transaction is completed
// * The transaction related IPN variables will be received on the call back URL specified in the request
// * The IPN variables have to be sent back to the PayPal system for validation, upon validation PayPal will send a response string "VERIFIED" or "INVALID"
// * PayPal would continuously resend IPN if a wrong IPN is sent
paymentDetails.NotifyURL = "http://IPNhost";
// `DoReferenceTransactionRequestDetails` takes mandatory params:
//
// * `Reference Id` - A transaction ID from a previous purchase, such as a
// credit card charge using the DoDirectPayment API, or a billing
// agreement ID.
// * `Payment Action Code` - How you want to obtain payment. It is one of
// the following values:
// * Authorization
// * Sale
// * Order
// * None
// * `Payment Details`
DoReferenceTransactionRequestDetailsType doReferenceTransactionRequestDetails
= new DoReferenceTransactionRequestDetailsType("97U72738FY126561H", PaymentActionCodeType.SALE, paymentDetails);
DoReferenceTransactionRequestType doReferenceTransactionRequest = new DoReferenceTransactionRequestType(doReferenceTransactionRequestDetails);
doReferenceTransaction.DoReferenceTransactionRequest = doReferenceTransactionRequest;
// Create the service wrapper object to make the API call
PayPalAPIInterfaceServiceService service = new PayPalAPIInterfaceServiceService();
// # API call
// Invoke the DoReferenceTransaction method in service wrapper object
responseDoReferenceTransactionResponseType = service.DoReferenceTransaction(doReferenceTransaction);
if (responseDoReferenceTransactionResponseType != null)
{
// Response envelope acknowledgement
string acknowledgement = "DoReferenceTransaction API Operation - ";
acknowledgement += responseDoReferenceTransactionResponseType.Ack.ToString();
logger.Info(acknowledgement + "\n");
Console.WriteLine(acknowledgement + "\n");
// # Success values
if (responseDoReferenceTransactionResponseType.Ack.ToString().Trim().ToUpper().Equals("SUCCESS"))
{
// The final amount charged, including any shipping and taxes from your Merchant Profile
logger.Info("Amount : " + responseDoReferenceTransactionResponseType.DoReferenceTransactionResponseDetails.Amount.currencyID
+ " " + responseDoReferenceTransactionResponseType.DoReferenceTransactionResponseDetails.Amount.value + "\n");
Console.WriteLine("Amount : " + responseDoReferenceTransactionResponseType.DoReferenceTransactionResponseDetails.Amount.currencyID
+ " " + responseDoReferenceTransactionResponseType.DoReferenceTransactionResponseDetails.Amount.value + "\n");
}
// # Error Values
else
{
List<ErrorType> errorMessages = responseDoReferenceTransactionResponseType.Errors;
foreach (ErrorType error in errorMessages)
{
logger.Debug("API Error Message : " + error.LongMessage);
Console.WriteLine("API Error Message : " + error.LongMessage + "\n");
}
}
}
}
// # Exception log
catch (System.Exception ex)
{
// Log the exception message
logger.Debug("Error Message : " + ex.Message);
Console.WriteLine("Error Message : " + ex.Message);
}
return responseDoReferenceTransactionResponseType;
}