- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试将 Worldpay 集成到 angular2 应用程序中。
我正在使用自己的表单 ( own-form ) 方法,需要在页面中包含他们的脚本: <script src="https://cdn.worldpay.com/v1/worldpay.js"></script>
为某些输入添加特定属性:data-worldpay
并将 Worldpay.js 逻辑附加到表单...
我设法完成了以下步骤:
1. 在您的页面中包含 Worldpay.js
2.创建具有相关属性的支付表单
我怎样才能继续进行后续步骤...我被困在那个问题上:
<强>5。将 Worldpay.js 附加到您的表单:
<script type="text/javascript">
var form = document.getElementById('paymentForm');
Worldpay.useOwnForm({
'clientKey': 'your-test-client-key',
'form': form,
'reusable': false,
'callback': function(status, response) {
document.getElementById('paymentErrors').innerHTML = '';
if (response.error) {
Worldpay.handleError(form, document.getElementById('paymentErrors'), response.error);
} else {
var token = response.token;
Worldpay.formBuilder(form, 'input', 'hidden', 'token', token);
form.submit();
}
}
});
</script>
为什么?
angular2 删除所有标签 <script
来自模板。
假设有一个解决方法,可以在 ngAfterViewInit()
的页面中注入(inject)一些脚本。方法(就像我在第一步中所做的那样)
ngAfterViewInit(): void {
let s = document.createElement("script");
s.type = "text/javascript";
s.src = "https://cdn.worldpay.com/v1/worldpay.js";
this.worldPayScriptElement.nativeElement.appendChild(s);
}
哪里this.worldPayScriptElement
是来自模板的 div 的 ViewChild:<div #worldPayScriptElement hidden></div>
但是,根据他们的处理规则,worldpay 会将我表单中的敏感数据替换为名为 CreditCardToken
的字段来源:最后,在 Worldpay.formBuilder() 中,所有敏感的卡数据都从表单中删除,替换为 token ,然后才将表单提交回您的服务器。来源:https://developer.worldpay.com/jsonapi/docs/own-form
如何继续整合这个……看不懂。
如果他们有一个 API 返回基于 GET/POST
的 CreditCardToken请求它会是完美的,但从文档中我还没有找到正确的方法...
我将非常感谢任何类型的建议。
最佳答案
我已经决定考虑另一种方法 :)
我已经使用 Worldpay API 获取 token 。
API 网址:https://api.worldpay.com/v1/tokens
端点等待表单中的 POST
请求:
'{
"reusable": true/false,
"paymentMethod": {
"name": "name",
"expiryMonth": 2,
"expiryYear": 2015,
"issueNumber": 1,
"startMonth": 2,
"startYear": 2013,
"cardNumber": "4444 3333 2222 1111",
"type": "Card",
"cvc": "123"
},
"clientKey": "T_C_client_key"
}'
Header
应该包含这些选项:"Content-type: application/json"
有了它,就不再需要在页面中包含 worldpay.js
。
此外,不再需要在付款表单中包含 worldpay 特定属性(如 data-worldpay=""
)
只需调用 API,等待响应,其形式为:
{
"token": "UUID of token",
"reusable": true/false,
"paymentMethod": {
"type" : "ObfuscatedCard",
"name": "name",
"expiryMonth": 2,
"expiryYear": 2015,
"issueNumber": 1,
"startMonth": 2,
"startYear": 2013,
"cardType": "VISA_CREDIT",
"maskedCardNumber": "xxxx xxxx xxxx 1111",
"cardSchemeType": "consumer",
"cardSchemeName": "VISA CREDIT",
"cardProductTypeDescNonContactless": "Visa Credit Personal",
"cardProductTypeDescContactless": "CL Visa Credit Pers",
"cardIssuer": "LLOYDS BANK PLC",
"countryCode": "GBR",
"cardClass": "credit",
"prepaid": "false"
}
}
根据响应,您已准备好使用 response.token
以继续下一步:付款。
您应该确保发送特定的 WorldPay 属性(CreditCardToken、Enrolled)
我如何在 angular2 中调用 worldpay API?
public getWorldpayToken(request: any): Observable<any>{
let worldPayApiUrl = `https://api.worldpay.com/v1/tokens`;
let body = JSON.stringify(request);
let headers = new Headers({ 'Content-Type':'application/json;charset=UTF-8'});
let options = new RequestOptions({ headers: headers });
return this.http.post(worldPayApiUrl, body, options)
.map(response => response.json())
.catch(this.handleError);
}
文档:https://developer.worldpay.com/jsonapi/api#tokens
有关任何其他详细信息,请随时评论/询问 :)
关于angular - 如何将 worldpay 与 angular2 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40506912/
我们使用 WorldPay 来处理分级成员(member)系统的付款,付款金额根据所选的成员(member)级别而有所不同。 付款通过来自许多隐藏字段的表单邮寄传递给 WorldPay,包括: 本质
您好,我目前正在与 worldpay 合作,我想将一些 worldpay 集成示例拼接在一起,我被告知这是可能的,但我个人不知道如何实现。 网站电子商务背后的基础知识,如果用户选择产品、一些额外选项和
查看 Paypal SDK ,我可以看到将 Paypal 集成到移动应用程序中并使用它提供的 REST 服务接收付款通知是多么容易。这是理想的,因为我可以根据返回的付款信息进行应用内更改。 但是,Wo
当我将 XML 提交到 https://secure-test.WorldPay.com/jsp/merchant/xml/paymentService.jsp 时: Personalised
WorldPay 文档 are really difficult for me to understand after reading and re-reading them for hours .
我想知道是否有人有任何关于将 WorldPay 集成到 ASP.Net Web 应用程序的有用信息?我希望直接从网站上接受固定金额的付款,不需要购物车。 本质上,我只是在寻找一些引用源代码或一篇涵盖所
我正在尝试使用 world pay 及其 SDK 通过 Apple pay 进行付款 https://github.com/Worldpay/worldpay-lib-ios 。在我的应用程序中,此付
我正在尝试安装 https://github.com/Worldpay/worldpay-lib-ios .这里我需要使用cocoapods 安装AFNetworking。我的 Podfile 是 t
我一直在经历http://support.worldpay.com/support/kb/gg/paymentpagedesigner/content/manageassets.htm#Font为了尝
我目前正在尝试将 WorldPay 集成到我们的网站中(自定义 PHP,没有开源电子商务框架)。 我已经让它在测试模式下成功处理了“授权”/成功付款,并且付款响应 URL 一切正常,然后客户被重定向到
我正在尝试将 Worldpay 集成到 angular2 应用程序中。 我正在使用自己的表单 ( own-form ) 方法,需要在页面中包含他们的脚本: 为某些输入添加特定属性:data-world
我正在尝试将 worldpay 与 React Web 应用程序集成。 通过 Worldpay.useTemplateForm() 合并信用卡功能工作正常,但下一步会导致问题。 要使用 3DS,我们必
我正在构建一个脚本以通过 HTML POST 将数据发送到 WorldPay。这一切都很好,除非在处理付款后它不会重定向回客户的网站。 我已将返回 URL 添加到管理系统的付款响应 URL 中,并将
我正在尝试让 Google Analytics(分析)电子商务跟踪与我们网站的支付网关 Worldpay 很好地配合使用。一个我不想使用的解决方案已经发布(下面的链接),但涉及到购物者的额外点击,这是
我正在尝试使用 Swift 将 WorldPay 的“AccessCheckoutSDK”集成到我的 IOS 应用程序中 https://developer.worldpay.com/docs/acc
我是一名优秀的程序员,十分优秀!