2014-11-06 121 views
1

我正在一个网站上工作,我需要与Payza集成。从我读的“立即购买”按钮看起来像这样:Payza“立即购买”按钮

<form action="https://secure.payza.com/checkout" method="post"/> 
    <input type="hidden" name="ap_amount" value="50" /> 
    <input type="hidden" name="ap_purchasetype" value="item-goods" /> 
    <input type="hidden" name="ap_merchant" value="[email protected]" /> 
    <input type="hidden" name="ap_itemname" value="The Name" /> 
    <input type="hidden" name="ap_currency" value="USD" /> 
    <input type="image" name="ap_image" src="https://www.payza.com/images/payza-buy-now.png" /> 
</form> 

这是不安全的。 Payza是否提供任何API来保护我的按钮(如Paypal的NVP),或者有什么方法来保护我的服务器上的按钮?

+0

你是什么意思与“这是不安全的它使用HTTPS,所以问题出在哪里 – 2014-11-06 11:08:58

+0

任何用户都可以编辑HTML表单的例子:??对于项目费用为50 $用户可以设置价格$ 5 – 2014-11-06 11:13:20

回答

3

您在文章中的表单使用了所谓的“高级集成”。然而,大多数卖家/商家推荐的是“标准整合”。标准集成在大多数情况下都是有意义的,除非您有非常特殊的需求(更多关于高级集成)。

使用标准集成,您可以在Payza的会员区域创建按钮,在此期间您可以定义所有参数(如金额等),然后为您生成一个表单。

与高级集成表单不同,此表单不包含价格或任何其他信息。它只有一个参考ID,Payza系统将使用它来检索您为该按钮设置的信息。这意味着用户不能更改诸如金额等参数。所以我相信这实际上就是你要找的东西。

下面是一个标准的集成形式的外观的例子,如:

<form method="post" action="https://secure.payza.com/checkout"> 
    <input type="hidden" name="ap_productid" value="jf3akAf34JasfkAFad4e3a==" /> 
    <input type="hidden" name="ap_quantity" value="1" /> 
    <input type="image" name="ap_image" src="https://secure.payza.com/PayNow/4A13EKMCI42KCIKAL34HZI34KL3LN1BOa9en.gif" /> 
</form> 

您可以找到有关标准的集成的信息页这里:


这是关于高级I的更多信息ntegration。

我们建议仅针对特定需求使用高级集成,即具有动态生成的按钮,或者,例如,如果项目或服务的价格是动态确定的。 如果您选择使用高级集成,系统检查收到的付款信息(包括已付金额)至关重要。建议通过IPN处理程序进行检查。欲了解更多信息,请参见下面的第一个页面中的部分“高级按钮安全& IPN”,第二页有关于最佳实践的信息:


也就是说,我们已经为您提出的担忧开了一张内部票据。

尽管高级集成是通过设计实现的,但我们将研究如何进一步改进此功能。

感谢您的留言。

+0

我也尝试了标准集成和我收到的ipn监听器:[侦听器] /?ap_itemcode = 1&ap_itemname = National Geographic&ap_shippingcharges = 0.00&ap_additionalcharges = 0.00&ap_taxamount = 0.00&ap_discountamount = 0.00&ap_totalamount = 10.00&ap_ipnversion = 0&ap_feeamount = 0.0&ap_netamount = 0.0&ap_transactiontype = purchase我没有关于交易号码 的信息ap_alerturl = [ipn_listener]&ap_transactiondate = 2014-11-10 06:28:30 ap_status =成功 – 2014-11-10 11:38:45

+0

当我尝试高级集成时,我发送这个http get请求:https:// secure。 payza.com/ipn2.ashx?token= 并且回应是“无效标记” – 2014-11-10 13:17:02

+0

我的错误。我不应该将http get请求发送到https://secure.payza.com/ipn2.ashx,因为我正在沙盒中进行测试。什么是正确的网址发回令牌 – 2014-11-10 14:01:34

2

在回答您的其他问题:

如果您的IPN的不包含参考号码,我怀疑你正在使用我们的IPN模拟器。使用IPN模拟器,不会生成参考号码,因为没有资金实际进行交易,因此不会在IPN数据中发送。此外,请注意,如果您的沙盒帐户中启用了测试模式,则不会为测试模式事务生成IPN。

如果您正在使用我们的沙箱环境,您的IPN处理程序应将IPN令牌发送回以下URL:https://sandbox.payza.com/sandbox/ipn2.ashx。如果您继续收到无效令牌,请检查以下内容:

  1. 确保您有IPN V 2在您的沙盒帐户中启用。

  2. 检查您的处理程序以确认您正在接收令牌。

  3. 查看您的IPN处理程序脚本以确保它正在接收令牌并在向我们发回字符串之前使用令牌字符串完成URL编码。

有关IPN故障排除,请点击以下链接了解更多信息:

检查以上后,如果您继续遇到困难,请向我们发送电子邮件提供简要说明以及与您的沙箱帐户相关联的电子邮件地址,以便我们进一步调查。

+0

我禁用了商户和客户帐户中的测试模式,并且仍然收到“无效令牌”。这是我收到的:token = Ol9iQHrpsqdMslcnMlJJyGayVDs5gWZbjNBjlkeRI0DQ5nASh8mj7u/u3amfn2Q2mLF0Aq4FhfipNO6DZCHXJA ==。当我调用urlEncode时,我发送的https发送请求的URL是:https://sandbox.payza.com/sandbox/ipn2.ashx?token=Ol9iQHrpsqdMslcnMlJJyGayVDs5gWZbjNBjlkeRI0DQ5nASh8mj7u/u3amfn2Q2mLF0Aq4FhfipNO6DZCHXJA==。 – 2014-11-11 08:33:29

+1

@PayzaIntegration欢迎来到SO!通常情况下,回复评论中的其他问题时的传统是编辑原始答案并添加到答案中(是的,确实有时候答案很长;没关系)。为了清楚起见,引用引发问题的评论也是典型的;它可以帮助未来的读者使用上下文,评论也可以随时删除(导致混淆)。感谢您的帖子! – 2014-11-11 14:39:38

+1

嗨@JasonC,感谢您的指点,仍然在这里学习绳索。 – PayzaIntegration 2014-11-12 14:45:30