惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 杰客

一个关于pynoi游戏的C语言编程 大型网站架构 大型网站架构不得不考虑的10个问题 程序员自我培养 什么是SOA 用Date.ToString()输出中英文月份 - 杰客 - 博客园 深入浅出理解索引结构 学习正则表达式 让VS 2008支持Subversion(转) SQL Server 2000和2005通用分页存储过程 SQL里类似SPLIT的分割字符串函数 趣味智力题 程序员为什么单身?细数程序员"六宗罪"(摘抄) 存储过程的一些小技巧 Hello NHibernate ASP.NET中的常用正则表达式 c#2.0 System.Net.Mail 发送email ASP.NET2.0中配置文件的加密与解密(转载) ASP.NET 2.0(C#)中System.Web.Caching的应用
(原创)整合 PayPal、VeriSign、Authorize.NET 在线支付
杰客 · 2006-07-07 · via 博客园 - 杰客

VeriSign

Verisign PayMent Relation Method

AuthorizeNet

AuthorizeNet PayMent Relation Method

PayPal  
详细请参考: http://paypaltech.com/Dave/api_sourcebook/html/index.html

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using cSharpSignatureExamples.PPSVC;  // using statement for WSDL Reference

namespace cSharpSignatureExamples
{
    
/// <summary>
    
/// Summary description for DoDirectPayment.
    
/// </summary>

    public class DoDirectPayment : System.Web.UI.Page
    
{
        
private void Page_Load(object sender, System.EventArgs e)
        
{
            
// Put user code to initialize the page here

            
//################set up Request########################

            
//instantiate DoDirectPaymentRequestType and RequestDetails objects
            DoDirectPaymentRequestType DoDirectPmtReqType = new DoDirectPaymentRequestType();
            DoDirectPmtReqType.DoDirectPaymentRequestDetails 
= new DoDirectPaymentRequestDetailsType();

            
//set paymentaction
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentAction = PaymentActionCodeType.Sale;

            
//set IP
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.IPAddress = Request.UserHostAddress;

            
//set CreditCard info
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.CreditCard = new CreditCardDetailsType();
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.CreditCard.CreditCardNumber 
= "4719294777609143";
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.CreditCard.CreditCardType 
= CreditCardTypeType.Visa;
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.CreditCard.CVV2 
= "587";
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.CreditCard.ExpMonth 
= 1;
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.CreditCard.ExpYear 
= 2007;


            
//set billing address
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.CreditCard.CardOwner = new PayerInfoType();
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.CreditCard.CardOwner.PayerName 
= new PersonNameType();
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.CreditCard.CardOwner.PayerName.FirstName 
= "Bob";
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.CreditCard.CardOwner.PayerName.LastName 
= "Fakebuyer";
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address 
= new AddressType();
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.Street1 
= "1541 N 121st st";
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.Street2 
= "Apt 12";
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.CityName 
= "Los Angeles";
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.StateOrProvince 
= "CA";
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.PostalCode 
= "90210";
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.CountrySpecified 
= true;
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.Country 
= CountryCodeType.US;
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.CreditCard.CardOwner.Address.Phone 
= "210-899-4111";


            
//setup individual items
            
//item 1
            PaymentDetailsItemType item1 = new PaymentDetailsItemType();
            item1.Amount 
= new BasicAmountType();
            item1.Amount.Value 
= "2.00";
            item1.Amount.currencyID 
= CurrencyCodeType.USD;
            item1.Quantity 
= "1";
            item1.Tax 
= new BasicAmountType();
            item1.Tax.Value 
= "1.00";
            item1.Tax.currencyID 
= CurrencyCodeType.USD;
            item1.Name 
= "Item 1";
            item1.Number 
= "SKU 1";

            
//item 2
            PaymentDetailsItemType item2 = new PaymentDetailsItemType();
            item2.Amount 
= new BasicAmountType();
            item2.Amount.Value 
= "5.00";
            item2.Amount.currencyID 
= CurrencyCodeType.USD;
            item2.Quantity 
= "1";
            item2.Tax 
= new BasicAmountType();
            item2.Tax.Value 
= "1.00";
            item2.Tax.currencyID 
= CurrencyCodeType.USD;
            item2.Name 
= "Item 2";
            item2.Number 
= "SKU 2";

            PaymentDetailsItemType[] itemArray 
= new PaymentDetailsItemType[2];
            itemArray.SetValue(item1, 
0);
            itemArray.SetValue(item2, 
1);

            
//set payment Details
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails = new PaymentDetailsType();
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.Custom 
= System.DateTime.Now.ToLongTimeString();
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.PaymentDetailsItem 
= new PaymentDetailsItemType[2];
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.PaymentDetailsItem 
= itemArray;

            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.PaymentDetailsItem.SetValue(item1, 
0);
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.PaymentDetailsItem.SetValue(item2, 
1);

            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.OrderTotal 
= new BasicAmountType();
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.OrderTotal.currencyID 
= CurrencyCodeType.USD;
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.OrderTotal.Value 
= "11.00";
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.ShippingTotal 
= new BasicAmountType();
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.ShippingTotal.currencyID 
= CurrencyCodeType.USD;
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.ShippingTotal.Value 
= "2.00";
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.TaxTotal 
= new BasicAmountType();
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.TaxTotal.currencyID 
= CurrencyCodeType.USD;
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.TaxTotal.Value 
= "2.00";
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.ItemTotal 
= new BasicAmountType();
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.ItemTotal.currencyID 
= CurrencyCodeType.USD;
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.ItemTotal.Value 
= "7.00";

            
//individual items

            
//set ship to address
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.ShipToAddress = new AddressType();
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.ShipToAddress.Name 
= "Sally Fakebuyer";
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.ShipToAddress.Street1 
= "58654 Happy Valley";
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.ShipToAddress.CityName 
= "Oakland";
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.ShipToAddress.StateOrProvince 
= "CA";
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.ShipToAddress.PostalCode 
= "94603";
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.ShipToAddress.CountrySpecified 
= true;
            DoDirectPmtReqType.DoDirectPaymentRequestDetails.PaymentDetails.ShipToAddress.Country 
= CountryCodeType.US;

            DoDirectPaymentReq DoDPReq 
= new DoDirectPaymentReq();
            DoDPReq.DoDirectPaymentRequest 
= DoDirectPmtReqType;
            DoDPReq.DoDirectPaymentRequest.Version 
= "2.20";

            
//################### FINISH set up req ##############


            
//################ setup request Header, API credentials #######
            PayPalAPIAASoapBinding PPInterface = new PayPalAPIAASoapBinding();
            UserIdPasswordType user 
= new UserIdPasswordType();

            
//set api credentials - username, password, signature
            user.Username = "3token_api1.sandbox.com";
            user.Password 
= "JAVL2F5LJQAYUNQJ";
            user.Signature 
= "ABjwDNHZ2vaJeK5UyS4MMW7IBQdlAfz0gnsA.AYAfpMVAoAB6ko-w9v4";

            
// set API server URL - this is for the Sandbox
            PPInterface.Url = "https://api-aa.sandbox.paypal.com/2.0/";

            
// if this was the production site, you'd use
            
//  PPInterface.Url = "https://api-aa-3t.paypal.com/2.0/";

            PPInterface.RequesterCredentials 
= new CustomSecurityHeaderType();
            PPInterface.RequesterCredentials.Credentials 
= new UserIdPasswordType();
            PPInterface.RequesterCredentials.Credentials 
= user;




            
try
            
{
                
//make call return response
                DoDirectPaymentResponseType DPRes = new DoDirectPaymentResponseType();


                DPRes 
= PPInterface.DoDirectPayment(DoDPReq);

                
//print some output

                
switch (DPRes.Ack)
                
{
                    
case AckCodeType.Success:

                        Response.Write(
"API response: <b>" + DPRes.Ack.ToString() +
                                
"</b><br> Timestamp: <b>" + DPRes.Timestamp.ToLongTimeString() +
                                
"</b><br> Version: <b>" + DPRes.Version +
                                
"</b><br> TransactionID: <b>" + DPRes.TransactionID +
                                
"</b><br> AVS Code: <b>" + DPRes.AVSCode +
                                
"</b><br> CVV2 Code: <b>" + DPRes.CVV2Code);
                        
break;



                    
default// show errors if Ack is NOT Success

                        Response.Write(
"API response: <b>" + DPRes.Ack.ToString() +
                                
"</b><br> Timestamp: <b>" + DPRes.Timestamp.ToLongTimeString() +
                                
"</b><br> Version: <b>" + DPRes.Version.ToString() +
                                
"</b><br> Error code: <b>" + DPRes.Errors[0].ErrorCode +
                                
"</b><br> Short error: <b>" + DPRes.Errors[0].ShortMessage +
                                
"</b><br> Long error: <b>" + DPRes.Errors[0].LongMessage);
                        
break;


                }



            }


            
catch (Exception ex)  // if there is some exception, catch it and print the error
            {

                Response.Write(ex.ToString());
            }


        }


        
Web Form Designer generated code
    }

}