// СОЗДАНИЕ ФОРМЫ
var client = BillPaymentsClientFactory.Create(
secretKey: "eyJ2ZXJzaW9uIjoiUDJQIiwiZGF0YSI6eyJwYXlpbl9tZXJjaGFudF9zaXRlX3VpZCI6IjU5Z29icC0wMCIsInVzZXJfaWQiOiI3OTI3NDI1NTQ1MCIsInNlY3JldCI6ImZiZmM1YmQ4NDViYTU0YTlhNmZmYmNlMzQ4OTQ3Mzc3OTk0ZThiN2FhNDg5YjZjYTk0ODU1NjRkNz**********");
var billid = Guid.NewGuid().ToString();
var paymentUrl = client.CreatePaymentForm(
paymentInfo: new PaymentInfo
{
PublicKey = "48e7qUxn9T7RyYE1MVZswX1FRSbE6iyCj2gCRwwF3Dnh5XrasNTx3BGPiMsyXQFNKQhvukniQG8RTVhYm3iP5iruAUULBX8EKZ3M57hheY214uMDEXk8Vi2tikH3XDHbi9PJBd5M4eojL1Myj2YotX25Poh4S8cZzuVz9H1135Bys*************",
Amount = new MoneyAmount
{
ValueDecimal = 1.1m,
CurrencyEnum = CurrencyEnum.Rub
},
BillId = billid/*Guid.NewGuid().ToString()*/,
//SuccessUrl = "https://merchant.com/payment/success?billId=893794793973"
}
);
var response = client.GetBillInfo(billid);
Console.WriteLine(response);
通过 NuGet 链接的库:
using Qiwi.BillPayments.Client;
using Qiwi.BillPayments.Model.In;
using Qiwi.BillPayments.Model;
我创建了一个用户必须通过并付款的表单,我想通过这个表单获取付款状态,表单本身是正常创建的,我得到了它的链接,但我不明白如何检查付款地位。 Qiwi通过 .NET SDK获得如下交易状态: https ://developer.qiwi.com/en/bill-payments/?csharp#invoice-status。帮我从 QIWI 服务器获得此响应:不想插入代码:这里https://github.com/QIWI-API/bill-payments-dotnet-sdk 滚动到帐户信息。服务器返回给我这个: Qiwi.BillPayments.Model.Out.BillResponse 不是我需要的。我将由衷感谢,我已经担心了很长时间
解决方案:
// СОЗДАНИЕ ФОРМЫ
BillPaymentsClient client = BillPaymentsClientFactory.Create(
secretKey: "eyJ2ZXJzaW9uIjoiUDJQIiwiZGF0YSI6eyJwYXlpbl9tZXJjaGFudF9zaXRlX3VpZCI6IjU5Z29icC0wMCIsInVzZXJfaWQiOiI3OTI3NDI1NTQ1MCIsInNlY3JldCI6ImZiZmM1YmQ4NDViYTU0YTlhNmZmYmNlMzQ4OTQ3Mzc3OTk0ZThiN2FhNDg5YjZjYTk0ODU1N**************"
);
BillResponse form = client.CreateBill(
info: new CreateBillInfo
{
BillId = Guid.NewGuid().ToString(),
Amount = new MoneyAmount
{
ValueDecimal = 199.9m,
CurrencyEnum = CurrencyEnum.Rub
},
Comment = "comment",
ExpirationDateTime = DateTime.Now.AddDays(45),
Customer = new Customer
{
Email = "danil*************@bk.ru",
Account = Guid.NewGuid().ToString(),
Phone = "892742*****"
},
}
);
BillResponse responseStatus = client.GetBillInfo(billId: form.BillId);
string status = responseStatus.Status.ValueString;
Customer customer = form.Customer;
Console.WriteLine(status);
1 个回答