Tag: Payfort

集成PayFort-我们受了苦,所以您不必

您认为您的客户要求您集成由Amazon构建的在线支付网关时,您将会取得丰硕的成果。 这就是我的主要iOS开发人员(Tahir Pasha)在回应这张票时告诉我的:“因此,我将创建一个沙箱帐户,按照其文档中所述集成SDK,对其进行测试,然后切换到生产环境,就是这样” 从此链接获取文档, 此处的iOS SDK。 从您的沙盒帐户复制商家ID和访问代码, 在集成设置中,设置创建签名所需的REQUESTPHRASE 创建此链接上所示的签名, 您需要从SDK令牌URL获取SDK令牌,如文档第5.3节所示。 现在,通过该SDK令牌,您可以在移动应用中使用SDK来根据首选付款方式处理付款。 简单? 没有。 完成所有这些步骤并将您的应用提交审核后,您将遇到以下问题。 服务器端认证 将您的应用提交审核后,只有Payfort集成团队的人员才会通知您,您需要在服务器端而非移动应用上进行身份验证并获取SDK令牌。 因此,现在您需要在服务器端重做步骤5和6 。 从上面的步骤5:如服务器端此链接上所示创建签名,为此签名,您还将需要用户的设备ID 从上面的步骤6:从服务器公开一个API,该API接受来自移动设备的设备ID,如上所述创建签名,从Payfort请求SDK令牌,然后在响应中将该令牌提供给移动应用程序。 (ps,因为此代码与其余的后端体系结构无关,所以如果您为此独立于后端创建单独的微服务,则更好) 第7步将与上面相同,因为一旦在移动应用中安装了SDK TOKEN,您就可以执行与之前相同的其余任务。 直接交易反馈网址 您还需要配置直接交易反馈URL,Payfort将在其中处理交易后将响应参数发送给您。 Payfort说,如果用户由于互联网连接断开或他关闭了浏览器或者问题出在您身边作为连接商而导致用户重定向到您的return_url之前关闭了浏览器,Payfort会向您发送响应作为此URL上的POST表单。 这个想法很好,但是唯一的问题是Payfort希望您无需任何身份验证即可公开此POST api。 这会为您的数据库打开一些安全威胁。 因此,您需要创建另一个单独的微服务,它具有自己的私有数据存储,该数据存储仅处理这些响应(独立于您的主数据库),而没有其他处理。 即便如此,将这个api中接收到的信息与您的实际数据库合并也是另一个问题。 调试 调试PayFort提供的错误消息是另一个挑战。 例如: 错误代码001:他们的文档说这意味着“缺少参数”。 它没有指定缺少哪个参数。 进入生产 您会想象,当payfort将您的帐户从沙箱转移到生产环境时,他们也会为您移动所有设置。 但是不会,一旦您解决了上述所有问题,并且您的帐户已获准用于生产,则需要手动激活所需的付款方式。 然后,当您再次认为自己已经完成时,您可能还会面临最后一个问题 回购 是的,你没看错。 在一种情况下,如果在Payfort的末端处理付款时发生错误,或者用户决定在处理付款时取消付款,则Payfort API会给您一个回单而不是响应。 在所有其他api中为您提供消息的键称为“ response_message”,而在此特定api中,该键为“ resposne_message”。 我们花了几个小时才弄清楚这一点! 您还需要在您的应用程序中处理此拼写错误,否则它将崩溃 现在完成了 最后,我必须说,一旦设置好,Payfort是一项出色的服务,它的工作确实比我们上一个付款处理者做得更好。 与塔希尔·帕夏(Tahir Pasha)共同撰写 …………。 更新2019年1月10日 […]