PayPal支付网关整合中使用SOAP模式的简明例子。(.NET C#)
这几天做PayPal的支付网关整合,查了不少文档,都是英文的,还说的不够简洁,整理了下,只需要很简单几步就可以让你的程序使用PayPal支付网关,保证简明,一看就懂。
1、申请测试帐号 (https://developer.paypal.com) ,并申请API Key。这方面太多例子跟文档,就不赘述了,如不知道请百度或谷歌。
2、在你的 .NET工程里添加服务引用,测试版应该连接到这里 (https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl)。
3、直接扣款模式代码如下。
PayPalAPIAAInterface paypal = new PayPalAPIAAInterfaceClient();
const string VERSION = "89.0";  // 根据你申请时最新的版本号决定
CustomSecurityHeaderType header = new CustomSecurityHeaderType();
UserIdPasswordType credentials = new UserIdPasswordType()
{
  Username = ConfigurationManager.AppSettings["APIUsername"],// API 用户名
  Password = ConfigurationManager.AppSettings["APIPassword"],  // API 密码
  Signature = ConfigurationManager.AppSettings["APISignature"],   // API 签名字符串
};
private void DoDirectPaymentTest()
{
      var req = new DoDirectPaymentReq();
      req.DoDirectPaymentRequest = new DoDirectPaymentRequestType();
      req.DoDirectPaymentRequest.Version = "89.0";
req.DoDirectPaymentRequest.DoDirectPaymentRequestDetails = new DoDirectPaymentRequestDetailsType
      {
        //PaymentAction = PaymentActionCodeType.Authorization,
        IPAddress = "61.175.209.109",
        PaymentDetails = new PaymentDetailsType { OrderTotal = new BasicAmountType { currencyID = CurrencyCodeType.USD, Value = "100.00" } },
        CreditCard = new CreditCardDetailsType
        {
          CardOwner = new PayerInfoType { Payer = "buyer_132949285@live.com" }, // 你申请的测试付款帐号邮件
          CreditCardNumber = "xxxxxxxxxxxxxxxxxx", // 你申请的测试付款帐号的信用卡号
          CVV2 = "123", // CVV2验证码,测试版随便填3位
          ExpMonth = 5 //你申请的测试付款帐号信用卡过期月,
          ExpMonthSpecified = true,
          ExpYear = 2018 //你申请的测试付款帐号信用卡过期年,
          ExpYearSpecified = true,
          CreditCardType = CreditCardTypeType.Visa //(类型可选)
        }
      };
      //
      var request = new DoDirectPaymentRequest(header, req);
      var response = paypal.DoDirectPayment(request);
}