【发布时间】:2017-08-06 14:06:33
【问题描述】:
我有一个页面,其中包含支付系统所需的字段表单。提交此表单,我调用服务向该系统发送请求。结果,我被重定向到支付系统页面,我可以在那里进行支付。付款完成后,我会再次被重定向到我的页面,从那里发送请求。 问题是我无法在我的组件中捕获来自支付服务器的响应,尽管我可以在开发工具的网络选项卡中看到该响应。
服务中的方法
sendXMLToFondy(request: RequestFondyViewModel): Observable<any> {
let body = `
<?xml version="1.0" encoding="UTF-8"?>
<request>
<response_url>${request.response_url}</response_url>
<server_callback_url> ${request.server_callback_url}</server_callback_url>
<order_id> ${request.order_id}</order_id>
<order_desc> ${request.order_desc}</order_desc>
<currency>${request.currency}</currency>
<amount>${request.amount}</amount>
<signature>${request.signature}</signature>
<merchant_id>${request.merchant_id}</merchant_id>
</request>
`;
return this._http.post("https://api.fondy.eu/api/checkout/url/", body)
.map((response: Response) => {
let res = response.text();
return res;
});
}
这就是我在组件中调用服务的方式
sendRequest(): void {
this._donateService.sendXMLToFondy(this.fondyPayModel).
subscribe((response) => {
console.log(response)
});
}
我放在 .map(in service) 和 .subscribe(in component) 中的操作符不会被执行。
【问题讨论】:
标签: angular typescript payment