C# 在C语言中为PayPal身份验证头生成签名#

C# 在C语言中为PayPal身份验证头生成签名#,c#,paypal,paypal-rest-sdk,C#,Paypal,Paypal Rest Sdk,我的目标是代表第三方商户向另一个贝宝账户发送发票。我正在使用权限服务成功获取权限,从而生成访问令牌和关联的机密 但是,我不明白在创建/发送发票时如何使用访问令牌和相关的机密来构建报头 我正在使用与进行通信 下面是我用来创建和发送发票的代码 RequestEnvelope envelopeRequest = new RequestEnvelope(); envelopeRequest.errorLanguage = "en_GB"; List<InvoiceItemType> inv

我的目标是代表第三方商户向另一个贝宝账户发送发票。我正在使用权限服务成功获取权限,从而生成访问令牌和关联的机密

但是,我不明白在创建/发送发票时如何使用访问令牌和相关的机密来构建报头

我正在使用与进行通信

下面是我用来创建和发送发票的代码

RequestEnvelope envelopeRequest = new RequestEnvelope();
envelopeRequest.errorLanguage = "en_GB";

List<InvoiceItemType> invoiceItemList = new List<InvoiceItemType>();

InvoiceItemType invoiceItem = new InvoiceItemType("Item", Convert.ToDecimal("2"), Convert.ToDecimal("4.00"));
invoiceItemList.Add(invoiceItem);

InvoiceItemListType itemList = new InvoiceItemListType(invoiceItemList);

InvoiceType invoice = new InvoiceType("jb-us-seller@paypal.com", "jbui-us-personal1@paypal.com", itemList, "USD");

CreateAndSendInvoiceRequest requestCreateAndSendInvoice = new CreateAndSendInvoiceRequest(envelopeRequest, invoice);

InvoiceService service = new InvoiceService();

responseCreateAndSendInvoice = service.CreateAndSendInvoice(requestCreateAndSendInvoice);
requestEnveloperRequest=newrequestEnvelope();
EnveloperRequest.errorLanguage=“en_GB”;
List invoiceItemList=新列表();
InvoiceItemType invoiceItem=新的InvoiceItemType(“Item”,Convert.ToDecimal(“2”),Convert.ToDecimal(“4.00”);
添加(invoiceItem);
InvoiceItemListType itemList=新的InvoiceItemListType(invoiceItemList);
发票类型发票=新发票类型(“jb us-seller@paypal.com“,”JBUIUS-personal1@paypal.com“,项目清单,“美元”);
CreateAndSendInvoiceRequestCreateAndSendInvoice=新建CreateAndSendInvoiceRequest(信封请求,发票);
InvoiceService=新的InvoiceService();
responseCreateAndSendInvoice=service.CreateAndSendInvoice(requestCreateAndSendInvoice);

在黑暗中摸索了一段时间后,我发现.NET发票SDK负责创建标题。InvoiceService有两种方法将令牌和密钥分配给报头。详情见下文

RequestEnvelope envelopeRequest = new RequestEnvelope();
envelopeRequest.errorLanguage = "en_GB";

List<InvoiceItemType> invoiceItemList = new List<InvoiceItemType>();

InvoiceItemType invoiceItem = new InvoiceItemType("Item", Convert.ToDecimal("2"), Convert.ToDecimal("4.00"));
invoiceItemList.Add(invoiceItem);

InvoiceItemListType itemList = new InvoiceItemListType(invoiceItemList);

InvoiceType invoice = new InvoiceType("shop1@test.co.uk", "buyer1@gmail.com", itemList, "USD");

CreateAndSendInvoiceRequest requestCreateAndSendInvoice = new CreateAndSendInvoiceRequest(envelopeRequest, invoice);

Dictionary<string, string> list = new Dictionary<string, string>();
list.Add("mode", "sandbox");
list.Add("account1.apiUsername", "contact-facilitator_api1.testdomain.com");
list.Add("account1.apiPassword", "xxxx");
list.Add("account1.apiSignature", "xxxx--xxx");

InvoiceService service = new InvoiceService(list);

service.SetAccessToken(accessToken);
service.SetAccessTokenSecret(secret);

responseCreateAndSendInvoice = service.CreateAndSendInvoice(requestCreateAndSendInvoice); 
requestEnveloperRequest=newrequestEnvelope();
EnveloperRequest.errorLanguage=“en_GB”;
List invoiceItemList=新列表();
InvoiceItemType invoiceItem=新的InvoiceItemType(“Item”,Convert.ToDecimal(“2”),Convert.ToDecimal(“4.00”);
添加(invoiceItem);
InvoiceItemListType itemList=新的InvoiceItemListType(invoiceItemList);
发票类型发票=新发票类型(“shop1@test.co.uk", "buyer1@gmail.com“,项目清单,“美元”);
CreateAndSendInvoiceRequestCreateAndSendInvoice=新建CreateAndSendInvoiceRequest(信封请求,发票);
字典列表=新字典();
添加(“模式”、“沙盒”);
添加(“account1.apiUsername”、“contact-facilitator_api1.testdomain.com”);
列表。添加(“account1.apiPassword”、“xxxx”);
列表。添加(“账户1.APICHAGNATION”、“xxxx--xxx”);
发票服务=新发票服务(列表);
service.SetAccessToken(accessToken);
service.SetAccessTokenSecret(secret);
responseCreateAndSendInvoice=service.CreateAndSendInvoice(requestCreateAndSendInvoice);