0

我使用 c# sdk 直接向贝宝付款。

一切都很好,但是我没有得到 transactionId,因为 sdk 的“Payment”对象没有 transactionId,http 响应也没有。

代码非常简单。

Payment pymnt = new Payment();
        pymnt.intent = "sale";
        pymnt.payer = payr;
        pymnt.transactions = transactions;


Payment createdPayment = pymnt.Create(apiContext);

Pymnt Create 方法,创建并执行支付,并通过从 json 转换来检索属性。

我正在取回 payid。我检查了文档,但找不到任何关于如何通过 payid 获取 transactionId 的信息。

我的应用程序的另一部分使用贝宝标准创建,通过 IPN 方法中的“txn_id”查询参数获取贝宝交易 ID,并将其保存在数据库中。

因此我们需要将transactionid保存在数据库中以保持一致。

请帮忙。

4

1 回答 1

3

(在GitHub 上提出了类似的问题。)

付款的交易 ID 可以通过与付款相关联related_resources的每个属性找到transaction

例如,如果您进行销售付款,则可以通过以下方式检索交易 ID:

var payment = Payment.Get(apiContext, "PAY-89W644977H834061FKTDRCCY");
var transactionId = payment.transactions[0].related_resources[0].sale.id;
于 2015-02-02T18:42:48.710 回答