首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用表单集成时,调用repeat.vsp后的回调URL是什么?

使用表单集成时,调用repeat.vsp后的回调URL是什么?
EN

Stack Overflow用户
提问于 2020-10-09 19:12:32
回答 1查看 94关注 0票数 1

我正在尝试做重复付款与表单集成在Sagepay (现在的Opayo)。

从这里发布的前面的问题中,我得到了需要的securitykey,但没有在表单调用中返回,因此需要对getTransactionDetails命令进行额外的调用。

我有了安全密钥,现在可以打电话给https://test.sagepay.com/gateway/service/repeat.vsp开始重复付款了。但是,文档并未说明对该调用的响应将发送到何处。因此,我假设它将转到使用服务器或直接集成时与付款设置的NotificationURL。由于我使用的是Form,所以没有设置。

问题是,如果初始付款是使用表单集成创建的,是否有办法捕获对https://test.sagepay.com/gateway/service/repeat.vsp调用的响应?

我想第二个问题是,有没有人成功地使用Sagepay表单集成实现了重复付款?

EN

回答 1

Stack Overflow用户

发布于 2020-12-03 19:32:28

不确定这是否对你有帮助,我们没有重复付款;但我们正在考虑释放延期付款,我认为这是一种类似的方法。

如何调用'https://test.sagepay.com/gateway/service/repeat.vsp'?

您是否可以使用“HttpWebRequest”发出调用,然后在“HttpWebResponse”中捕获直接响应?

例如:

代码语言:javascript
复制
private static void DeferredSharedApiCall(Dictionary<string, string> data, string type, string url)
{
    string postData = string.Join("&", data.Select(x => $"{x.Key}={HttpUtility.UrlEncode(x.Value)}"));

    HttpWebRequest request = WebRequest.CreateHttp(url);
    request.Method = "POST";
    request.ContentType = "application/x-www-form-urlencoded";

    using (TextWriter tw = new StreamWriter(request.GetRequestStream()))
    {
        tw.Write(postData);
    }

    HttpWebResponse response = null;
    try
    {
        response = request.GetResponse() as HttpWebResponse;
    }
    catch (WebException ex)
    {
        //log.Error($"{type} Error, data: {postData}", ex);
    }
    catch (Exception ex)
    {
        //log.Error($"{type} Error, data: {postData}", ex); 
    }

    if (response != null)
    {
        using (TextReader tr = new StreamReader(response.GetResponseStream()))
        {
            string result = tr.ReadToEnd();
            //log.Info($"{type} Response: {Environment.NewLine}{result}");
        }
    }
}   
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64278904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档