Платежное решение требует метода обратного вызова
Я пытаюсь внедрить решение для быстрой оплаты на сайте Umbraco.
Но у меня есть некоторые проблемы, когда провайдер вызывает функцию обратного вызова.
Я не знаю, есть ли особый способ сделать это?
public void CheckPayment()
{
//do stuff
}
Когда я звоню из браузера следующим образом: http://domain/umbraco/surface/payment/CheckPayment
он работает нормально, но я не могу заставить провайдера платежей (quickpay) вызвать метод.
Итак, мой вопрос. Есть ли специальная разметка, которую я должен использовать для этого метода? или должно работать выше?
1 ответ
Вы должны создать API обратного вызова в соответствии с документацией конкретного платежного шлюза, например, post API. Я создал API обратного вызова для платежного шлюза XYZ.. Мы отправляем URL-адрес обратного вызова в нашем вызове API запроса платежа (где они могут отправить нам обратный вызов транзакции).. Платежный шлюз перезвонит нам, для этого им нужен POST API, который принимает объект json.
Это мой класс модели с именем свойства json.
****public class PaymentVerifiedRequest {
[JsonPropertyName("Status")]
public string Status { get; set; }
[JsonPropertyName("order_id")]
public string UniqueOrderId { get; set; }
[JsonPropertyName("amount")]
public string Amount { get; set; } }****
Это моя структура API, которая перехватывает ответ Джейсона
[HttpPost(ActionsConsts.DeluxePay365Pay.PaymentVerified)]
public async Task<IActionResult> VerifiedTransactions(
[FromBody] PaymentVerifiedRequest request)
{`enter code here`
// Your database update code do here
}
Когда платежный шлюз вызывает URL-адрес Live API, вы получите ответ в этом API, и вы можете использовать ответ в соответствии с вашими потребностями.
Я надеюсь, что это решение поможет вам.