当前位置: 首页 > 知识库问答 >
问题:

PayPal Rest API-使用更新的交易信息执行支付

徐洛华
2023-03-14

我正在使用C#和PayPal Rest API来获得一个批准的支付并执行它。但是,我需要更新与批准的付款相关联的交易记录。PayPal文档中写道:

//Update the payment details in case totals changed because of a new address/zipcode
Details amountDetails = new Details();
amountDetails.subtotal = ValidationHelper.GetString(prices[Order.CartPricesEnum.Subtotal], "0");
amountDetails.tax = ValidationHelper.GetString(prices[Order.CartPricesEnum.Tax], "0");
amountDetails.shipping = ValidationHelper.GetString(prices[Order.CartPricesEnum.Shipping], "0");

Amount amount = new Amount();
amount.total = ValidationHelper.GetString(prices[Order.CartPricesEnum.Total], "0");
amount.currency = "USD";
amount.details = amountDetails;

//update the transaction to make sure we have accounted for any updated prices
Transactions trn = new Transactions();
trn.amount = amount;

List<Transactions> trns = new List<Transactions>();                    
trns.Add(trn);

//Create a payment execution object
PaymentExecution paymentExecution = new PaymentExecution();
paymentExecution.payer_id = payPalPayerID;
paymentExecution.transactions = trns;                    

//Execute (complete) the payment
Payment newPayment = payment.Execute(accessToken, paymentExecution);
{"name":"VALIDATION_ERROR","details":[{"field":"transactions[0].total","issue":"Required field missing"},{"field":"transactions[0].currency","issue":"Required field missing"},{"field":"transactions[0].amount","issue":"This field name is not defined for this resource type"}],"message":"Invalid request - see details","information_link":"https://developer.paypal.com/webapps/developer/docs/api/#VALIDATION_ERROR","debug_id":"bcba38f3c56d7"}
transactions    
array of transaction objects    
Transactional details if updating a payment. Note that this instance of the transactions object accepts only the amount object.

共有1个答案

乌翰学
2023-03-14

看起来paymentExecution transactions对象只接受amount对象而不接受transaction对象。

https://developer.paypal.com/docs/api/#execute-an-approved-paypal-payment

 类似资料:
  • 问题内容: 如何更新行的信息? 例如,我想更改ID为5的行的名称列。 问题答案: 使用Flask-SQLAlchemy文档中显示的教程来检索对象。拥有要更改的实体后,请更改实体本身。然后,。 例如: Flask- SQLAlchemy基于SQLAlchemy,因此请务必同时查看SQLAlchemy文档。

  • 问题内容: 假设我有100万个对象需要保存到ElasticSearch。保存对象的要求之一是,只有在所有项目都保存完之后才能进行搜索- 否则结果(与保存对象的不同属性的计数和总和有关-以财务计算为准)是错的。 这是我当前必须保存对象的代码: 我如何一次保存2万个对象,但是仅在所有项目都保存后才“提交”事务?或者,如果我必须一次保存“所有对象”,我该怎么做? 问题答案: Elasticsearch没

  • 我花了大约一个小时的时间来弄清楚在PayPal沙箱环境中使用什么信息来测试信用卡交易。无论我尝试什么,我都得到“无效数据,此事务无法处理。”错误。我使用的是经典API。 我创建了一个个人验证帐户,在我的开发人员帐户中使用Visa信用卡,但系统生成的信用卡信息产生了相同的错误。下面是帐户的屏幕:https://www.evernote.com/shard/s141/sh/e2a7147c-9cfb-

  • 我找不到解决方法,所以我在这里发帖寻求帮助。我在并行运行测试时遇到问题(使用POM和page factory)。 *\Testbase类*/ *POM类* *测试用例* *XML文件* 我收到java nullpointerexception错误 **更新我碰到的错误,/*POM类*\createnewpage方法驱动程序返回一个空参数。 无论如何,我在这里尝试的是运行两个chrome浏览器进行并

  • cmf_update_current_user($user) 功能 更新当前登录前台用户的信息 参数 $user: array 前台用户的信息 返回 无

  • 问题内容: 使用in 时可以执行更新吗?例如: 问题答案: 有一个非常强大的功能,称为: [15.4。DML风格的操作](http://docs.jboss.org/hibernate/orm/4.3/manual/en- US/html/ch15.html#batch-direct) 来自doc的小引用: …但是,Hibernate提供了通过Hibernate查询语言执行批量SQL样式DML语句