有很多不同的方法可以解决这个问题,但我认为最简单的方法可能是拥有一个简单的 JavaScript API,第三方集成商可以在他们的网站上使用。您的 JavaScript 可以设置复选框(例如,附加到div
或form
集成商指定的)并安装它,以便当用户选中该框时,它会打开一个指向您网站的弹出窗口。然后,您可以在“弹出窗口”中处理您的交易。
这与基本的 Paypal 集成的工作方式相当,用户将 Paypal 按钮扔到他们的网站上,然后当单击该按钮时,它会打开一个直接指向 Paypal 网站的新窗口(因为作为一般规则,他们不能直接从第三方网站收集/接受付款或身份信息)并传递一些描述交易的参数(付款金额、收件人、项目详细信息等)。
因此,例如,第三方可能会通过首先包含您的 JavaScript 文件来与您的服务集成,例如:
<script type="text/javascript" src="http://carmonkey.com/api/v1/MonkeyCar.js" />
...然后他们可能会添加一些样板代码来将 API 连接到他们网站的所需部分:
<script type="text/javascript">
var options = {"container": "#someDivId", "userFirstName": "John",
"userLastName": "Smith", "rentalDate":"8/8/12", "duration":"7"};
MonkeyCar.drive(options);
</script>
然后,您的脚本需要采用这些选项并使用它们将您的复选框添加到目标容器元素,并配置复选框,以便当用户单击它时,会打开一个弹出窗口,指向您网站上的相应 URL。所以你可以添加类似的东西:
<input type="checkbox" name="_monkeyCar" value="true"
onchange="if (this.checked) {MonkeyCar.open('http://carmonkey.com/reserve?fname=John&lname=smith&...');}" />
Book a Rental Car
然后,一旦发生这种情况,用户就可以正常完成租车预订,因为弹出窗口只是与您的标准网站运行正常的浏览器会话。
如果您想变得花哨,您还可以添加一个反馈循环,以便在第三方页面上运行的 JavaScript API 可以获取有关交易状态的更新,并检测交易何时完成/取消,并使用地位。