如何测试Paypal Express Checkout集成?

时间:2013-11-04 07:43:22

标签: unit-testing phpunit paypal paypal-sandbox

我想编写单元测试来测试我的Paypal Express Checkout集成。

我在买方授权Paypal屏幕付款的步骤中遇到问题

enter image description here

有没有办法在我的测试代码中模拟这个动作?

我使用沙盒测试帐户

2 个答案:

答案 0 :(得分:2)

由于PayPal的界面全部由PayPal控制,为什么不简单地使用模拟,并避免交互。这样,任何更改都会有效,并且您的代码只需知道如何发送第一个请求,并验证PayPal的返回,这完全在模拟设置中。

如果您想进行实际测试,可以遵循Paypal Sandbox Instructions for the classic API

答案 1 :(得分:1)

此方法不适用于自动化单元测试,但在手动运行的测试中效果很好。

从SetExpressCheckout获得令牌后,创建一个新的HttpListener,其地址与SetExpressCheckout中指定的'ReturnUrl'相同,并等待请求(同步)。使用Process.Start将浏览器指向PayPal身份验证屏幕,一旦付款被授权/取消,用户浏览器将被重定向到您的HttpListener的本地地址,然后您可以使用该地址来获取令牌& PayerID。