- 浏览: 63047 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (117)
- RPC相关 (4)
- mvc_controller (3)
- mvc_model (3)
- maven (4)
- mvc_view (5)
- IO (2)
- 业务相关 (2)
- MQ (7)
- 搜索引擎 (3)
- zookeeper (2)
- 工具相关 (4)
- 编辑错误 (1)
- tomcat (1)
- 单元测试 (1)
- 负载均衡 (1)
- ubuntu (1)
- nginx (1)
- dubbo (2)
- 网络站点分发 (1)
- 电商-支付相关 (10)
- 电商订单业务相关 (3)
- Core java1 (3)
- Core Java (12)
- 多线程高并发(并发包/线程/锁) (10)
- 数据库+缓存 (17)
- springcloud (2)
- jvm (5)
- 日志相关 (1)
- 算法 (3)
- spring (2)
- 分布式一致性算法 (1)
最新评论
国际信用卡支付,官方有英文也有中文文档,
登录后可以看中文文档
https://test.paydollar.com/b2cDemo/gb/merchant/mis_index.html
https://test.paydollar.com/b2cDemo/gb/merchant/download/PayDollar_Merchant_User_Guide_gb_v3-5.pdf
引入sdk包:
代码:
主要用到两个参数:
商户号,安全密钥
账号申请后,asiapay会发送用户邮件:
配置回调:
坑一:这里比较坑爹的是默认对ip有限制,限制高风险国家,和调用次数。
如果限制了,支付后回调里successcode=1,永远支付不成功。
需要登录账号,到风险控制里去设置ip:
坑二:
信用卡支付可以不断的跳出新的支付链接
支付宝跳第二次时报:
Duplicate merchant reference no.
登录后可以看中文文档
https://test.paydollar.com/b2cDemo/gb/merchant/mis_index.html

https://test.paydollar.com/b2cDemo/gb/merchant/download/PayDollar_Merchant_User_Guide_gb_v3-5.pdf
引入sdk包:
<properties> <!-- asiapay --> <version.asiapay>1.0</version.asiapay> </properties> <dependencies> <!-- asiapay --> <dependency> <groupId>com.asiapay</groupId> <artifactId>asiapay</artifactId> <version>${version.asiapay}</version> </dependency> </dependencies>
代码:
public PaymentFormEntity doGetPaymentFormEntity( OrderPaymentInfo paymentInfo, String payMethodParm){ String lang = LangUtil.getCurrentLang(); String templateId=""; // String amount = String.valueOf(SalesOrderCommand.getTotal().add(SalesOrderCommand.getActualFreight())); // String language = paymentParamCommand.getLanguage(); // String language = LangUtil.getCurrentLang(); // String payMethod = SalesOrderCommand.getPayInfo().get(0).getPayInfo(); String soCode = paymentInfo.getSerialNumber();// 使用流水号 //socode cancleUrl successUrl bankCode language totalFee Map<String, String> params = new HashMap<String, String>(); // 商户号,商家代号 params.put("merchantId", merchantId); // 商家要向客户收取的总金额(小数字) params.put("amount", paymentInfo.getPayAmount().toString()); // 商家订单编号,商家的订单参考号 params.put("orderRef", soCode); // 支付货币的种类 “344” – HKD “840” – USD “702” – SGD “156” - CNY(RMB) params.put("currCode", currCode); // mpsMode = SCP, the currCode value should be in foreign currency. // mpsMode = MCP, the currCode value should be in base currency. params.put("mpsMode", mpsMode); params.put("successUrl", successUrl); params.put("failUrl", failUrl); params.put("cancelUrl", cancelUrl); // “N”-正常支付(销售)“h”-持有付款(仅授权) params.put("payType", payType); if ("zh_HK".equals(lang)){ // “C” – Traditional Chinese 繁体中文 params.put("lang", "C"); templateId = "1"; }else if ("en_US".equals(lang)){ // “E” – English 英语 params.put("lang", "E"); templateId = "2"; }else{ params.put("lang", "C"); templateId = "1"; } params.put("templateId", templateId); // 商人的订单号,商户订单参考编号 params.put("Ref", soCode); params.put("remark",""); // 重定向次数 params.put("redirect", redirect); // 344 – “HK” 840 – “US” params.put("oriCountry", oriCountry); // 344 – “HK” 840 – “US” params.put("destCountry", destCountry); // 支付用信用卡的种类 // “ALL” – All the available payment method // “CC” – Credit Card Payment // “VISA” – Visa Payment // “Master” – MasterCard Payment if (Validator.isNotNullOrEmpty(payMethodParm)){ params.put("payMethod", payMethodParm); // aispay 支付方式提交后不能变更 }else{ params.put("payMethod", "ALL"); } String secureHash = SHA1(merchantId,soCode, currCode, paymentInfo.getPayAmount().toString(), payType, secureHashSecret); if (secureHash != null){ params.put("secureHash", secureHash); } PaymentFormEntity paymentFormEntity = new PaymentFormEntity(); paymentFormEntity.setAction(postUrl); paymentFormEntity.setMethod("post"); paymentFormEntity.setHiddenParamMap(params); return paymentFormEntity; } private String SHA1(String merchantId,String orderRef,String currCode,String amount,String payType,String serurityKey ){ try{ PaydollarSecure paydollarSecure = PaydollarSecureFactory.getPaydollarSecure("SHA"); return paydollarSecure.generatePaymentSecureHash(merchantId, orderRef, currCode, amount, payType, serurityKey); }catch (Exception e){ e.printStackTrace(); } return null; }
主要用到两个参数:
商户号,安全密钥

账号申请后,asiapay会发送用户邮件:
Dear Merchant, Thanks for your interest in PayDollar payment services and solutions, and we are pleased to set up a testing PayDollar account for you. Please kindly find the PayDollar Merchant User Guide http://www.paydollar.com/pdf/op/enuserguide.pdf and PayDollar Integration Guide http://www.paydollar.com/pdf/op/enpdintguide.pdf Meanwhile, please follow the following steps to complete the setup at your end. FOR PAYMENT INTEGRATION DEVELOPER 1) Payment Connection Page (implement it with your own payment page) Merchant Id = 8******4 Currency = HKD Client Post Method (input card number at our side) = https://test.paydollar.com/b2cDemo/eng/payment/payForm.jsp 2) Access to Merchant Administration functions: e.g. Transaction Report Merchant Admin link= https://test.paydollar.com/b2cDemo/eng/merchant/index.html Merchant Id = 88*****4 Login Name = admin Password = (Password will be sent in the following email) API Login Name: adminAPI API Password = (Password will be sent in the following email) 3) Testing Card Accounts - (please use the following accounts on testing platform) VISA 3D - 4335900000140045 Exp date: 07, 2020, Cardholder name: testing card,CVC2: 123 3D password: password MasterCard - 5422882800700007, Exp date: 07, 2020, Cardholder name: testing card, CVC2: 123 AMEX - 371891410719507, Exp date: 07, 2020, 4DBC: 1234 AliPay - Account name: alipaytest20091@gmail.com, Login Password: 111111, Payment Password: 111111 4) Use of Datafeed Page and Processing To implement the datafeed page to get our return payment result data, please refer the System Integration guide for more details and you can enable or disable the data feed function in the merchant administration site > Profile > Payment Options 5) IP Checking Function Please note that transactions will be rejected if same payer IP attempted more than pre-defined no. a day which is 10 times by default. This checking can be disabled or the number can be increased according to your need. If you wish to adjust it, please kindly log into our admin page and go to risk control > other security control to update the checking accordingly. 6) Secure hash secret: KVFsf**********KjhW7Rvy5B
配置回调:

坑一:这里比较坑爹的是默认对ip有限制,限制高风险国家,和调用次数。
如果限制了,支付后回调里successcode=1,永远支付不成功。
需要登录账号,到风险控制里去设置ip:



坑二:
信用卡支付可以不断的跳出新的支付链接
支付宝跳第二次时报:
Duplicate merchant reference no.
发表评论
-
支付宝花呗计算金额工具类
2018-01-09 18:15 681https://docs.open.alipay.com/60 ... -
银联unionpay取消订单与超时时间
2017-08-09 17:43 990unionpay官方api: https://open.uni ... -
H5商城在微信APP里支付
2017-08-04 08:36 830前言: jsapi支付方式,必须是关注公众号,后才能掉用微信支 ... -
微信公众号支付,获取openId
2017-08-01 20:33 6661. 获取code 1.1关注公众号后采用https://op ... -
促销计算价格
2017-07-31 17:03 426整单优惠的价格按照比例均摊到每一订单行价格 /** ... -
微信支付代码
2017-06-19 19:55 581支付成功后去再次验证支付状态 try { ... -
微信支付代码调试
2017-06-15 20:17 465支付必须的四个参数 /** appId(微信分配的公众账号 ... -
支付相关遇到问题解决
2017-06-02 14:53 569nunipay: 5100030 2017-06-02 ... -
支付相关
2017-05-06 17:11 471微信支付: https://pay.weixin.qq.com ...
相关推荐
paypal 测试用户帐号操作流程,如果创建paypal测试商家帐号,模拟真实的操作流程。
整合wBay、环迅、asiapay等多种支付方式,支持visa、MsaterCard、JCB数十种国际卡支持,全面覆盖80余家国家银行支付 6、自定义汇率转换和多国货币支持 内置数十种货币自定义设置和汇率自定义划算设置,充分满足多...
AsiaPay 联款通电子支付公司作为行业的领先者,其风险管理策略提供了宝贵的指导。 首先,建立一个安全的网络是风险管理的基础。这涉及到采用统一威胁管理配置来保护持卡人的数据,避免使用供应商默认的系统密码,并...
Oracle ADW提供的详细分析和机器学习功能,帮助AsiaPay理解市场变化,支持创新支付方式,同时,其自治安全和修复功能确保了数据的安全,增强了团队的信心。 Oracle ADW的关键特性包括: 1. 自治性:自我管理、自我...
scratch少儿编程逻辑思维游戏源码-Pyorovania.zip
scratch少儿编程逻辑思维游戏源码-弹力猫.zip
scratch少儿编程逻辑思维游戏源码-地心引力.zip
内容概要:本文介绍了一种基于金枪鱼群优化算法(TSO)和支持向量机(SVM)的混合算法模型——TSO-SVM,在多变量时间序列预测中的应用。文中详细解释了TSO-SVM的工作原理,即通过模拟金枪鱼群觅食行为来优化SVM的参数,从而提升预测性能。同时提供了具体的Matlab代码实现步骤,包括参数初始化、模型训练和预测。实验结果显示,TSO-SVM相较于传统SVM方法,显著提升了预测的准确性和稳定性,并展示了良好的泛化能力。 适合人群:对机器学习尤其是时间序列预测感兴趣的科研人员和技术开发者。 使用场景及目标:①需要进行多变量时间序列预测的研究项目;②希望利用自然启发式优化算法改善现有SVM模型效果的技术团队。 其他说明:推荐使用Libsvm工具箱配合Matlab 2018B及以上版本,仅限于Windows 64位操作系统。
内容概要:本文深入探讨了机器视觉技术,重点介绍了OpenCV和Qt在工业相机采集及图像处理中的应用。文中详细讲述了卡尺工具、找线、找圆、颜色检测、模板匹配及形状匹配等关键技术的具体实现方法,并特别强调了海康工业相机采集与基于形状的模板匹配界面的开发。此外,形状匹配算法已被封装成DLL,方便直接调用。通过实际案例和技术解析,帮助读者全面掌握机器视觉系统的构建。 适合人群:对机器视觉感兴趣的初学者、有一定编程基础的研发人员、从事工业自动化领域的工程师。 使用场景及目标:适用于希望深入了解机器视觉技术及其应用场景的专业人士,旨在提升图像处理能力,优化工业自动化流程,提高生产效率。 其他说明:文章不仅提供理论知识,还附有示例代码,便于读者动手实践并加深理解。
scratch少儿编程逻辑思维游戏源码-Billy奇妙之旅.zip
内容概要:本文详细介绍了基于模型开发(MBD)的BMS电池管理系统应用层软件模型。首先概述了BMS的核心任务,即确保电池的安全与高效运行,涉及充电、放电控制、实时监测和电池均衡管理。接着重点讨论了SUMlink电池管理系统策略模型,该模型通过收集和处理电池的数据(如电压、电流、温度),并运用多种算法(如SOC估算、SOH评估)来优化电池性能。文中还阐述了BMC CVS内部通讯协议DBC的作用,确保各模块间数据传输的准确性与效率。最后,介绍了AUTOSAR标准在BMS系统中的应用,特别是针对MPC5644A芯片的底层Build工程,提高了系统的可维护性、可扩展性和可靠性。此外,提到了INCA A2L标定文件的应用,用于配置和调整系统参数,以满足不同需求。 适合人群:从事电动汽车电池管理系统研究与开发的技术人员,尤其是对MBD方法、通信协议和AUTOSAR标准感兴趣的工程师。 使用场景及目标:适用于希望深入了解BMS系统的设计原理和技术细节的专业人士,旨在提高他们对该领域的理解和实际操作能力。 其他说明:通过对代码的具体分析,读者能够更加直观地理解BMS的工作流程及其各个组件间的协作关系。
少儿编程scratch项目源代码文件案例素材-深海困境.zip
少儿编程scratch项目源代码文件案例素材-去吧泡泡糖.zip
KEPServerEX6-6.17.269.0,最新版
scratch少儿编程逻辑思维游戏源码-第二个循环.zip
少儿编程scratch项目源代码文件案例素材-手里剑.zip
少儿编程scratch项目源代码文件案例素材-山地跳跃.zip
内容概要:本文详细介绍了Informed RRT*算法及其在机器人路径规划领域的应用。文章首先解释了该算法相较于传统RRT*算法的优势,即通过将采样范围限制在由起点和终点构成的椭圆区域内来提高搜索效率。接着,文中提供了具体的代码实现,包括椭圆采样的核心公式、路径优化的rewire步骤以及动态调整邻居半径的方法。此外,还讨论了路径队列管理和椭圆区域随路径优化动态更新的重要性。通过这些技术手段,Informed RRT*能够在找到初始路径后显著加快优化速度。 适合人群:对机器人路径规划感兴趣的科研人员、工程师及学生。 使用场景及目标:适用于需要高效路径规划的实际应用场景,如自动驾驶汽车、无人机飞行路径规划等。目标是在复杂环境中快速找到从起点到终点的最佳路径。 其他说明:建议读者在理解理论的基础上,结合提供的代码进行实验,以便更好地掌握算法的工作机制。同时,在不同环境条件下测试算法性能,观察其自适应能力。
内容概要:本文详细介绍了基于COMSOL有限元软件的变压器辐射传热数值分析方法。首先,解释了变压器内外辐射传热的基本机理,包括热量通过传导、对流和辐射的方式传递,重点在于辐射传热的作用及其数学描述。接着,逐步引导读者从零开始构建有限元仿真模型,涵盖模型参数确定、网格划分、材料属性定义、边界条件设置、传热方程设定、仿真运行及结果分析等多个步骤。最后,探讨了进一步研究的方向,如不同因素(温度、材料属性、几何形状)对辐射传热的影响,以及该模型在电力电子设备和热管理系统的潜在应用。 适合人群:电气工程专业学生、初学者和技术爱好者,尤其是对有限元仿真和变压器辐射传热感兴趣的群体。 使用场景及目标:适用于希望通过实际操作掌握有限元仿真技能的人群,旨在帮助他们理解变压器辐射传热机制并能独立完成相关仿真项目。 其他说明:本文不仅提供了理论知识,还附带了详细的视频教程和仿真模型,使学习过程更加直观易懂。
scratch少儿编程逻辑思维游戏源码-Scratch 奔跑.zip