`

asiapay支付调用

 
阅读更多
国际信用卡支付,官方有英文也有中文文档,
登录后可以看中文文档
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.
  • 大小: 91.8 KB
  • 大小: 51.7 KB
  • 大小: 63.1 KB
  • 大小: 30.9 KB
  • 大小: 42.5 KB
  • 大小: 59.3 KB
分享到:
评论

相关推荐

    paypal 测试用户帐号操作流程

    paypal 测试用户帐号操作流程,如果创建paypal测试商家帐号,模拟真实的操作流程。

    V5Shop 多国语言版电子商务系统MultiLang v8.30.0606 RC.rar

    整合wBay、环迅、asiapay等多种支付方式,支持visa、MsaterCard、JCB数十种国际卡支持,全面覆盖80余家国家银行支付 6、自定义汇率转换和多国货币支持 内置数十种货币自定义设置和汇率自定义划算设置,充分满足多...

    如何完善的风险控制系统.pptx

    AsiaPay 联款通电子支付公司作为行业的领先者,其风险管理策略提供了宝贵的指导。 首先,建立一个安全的网络是风险管理的基础。这涉及到采用统一威胁管理配置来保护持卡人的数据,避免使用供应商默认的系统密码,并...

    Oracle ADW:从业务提速到IT升级.pdf

    Oracle ADW提供的详细分析和机器学习功能,帮助AsiaPay理解市场变化,支持创新支付方式,同时,其自治安全和修复功能确保了数据的安全,增强了团队的信心。 Oracle ADW的关键特性包括: 1. 自治性:自我管理、自我...

    MATLAB实现基于LSTM-AdaBoost长短期记忆网络结合AdaBoost时间序列预测(含模型描述及示例代码)

    内容概要:本文档详细介绍了基于 MATLAB 实现的 LSTM-AdaBoost 时间序列预测模型,涵盖项目背景、目标、挑战、特点、应用领域以及模型架构和代码示例。随着大数据和AI的发展,时间序列预测变得至关重要。传统方法如 ARIMA 在复杂非线性序列中表现欠佳,因此引入了 LSTM 来捕捉长期依赖性。但 LSTM 存在易陷局部最优、对噪声鲁棒性差的问题,故加入 AdaBoost 提高模型准确性和鲁棒性。两者结合能更好应对非线性和长期依赖的数据,提供更稳定的预测。项目还展示了如何在 MATLAB 中具体实现模型的各个环节。 适用人群:对时间序列预测感兴趣的开发者、研究人员及学生,特别是有一定 MATLAB 编程经验和熟悉深度学习或机器学习基础知识的人群。 使用场景及目标:①适用于金融市场价格预测、气象预报、工业生产故障检测等多种需要时间序列分析的场合;②帮助使用者理解并掌握将LSTM与AdaBoost结合的实现细节及其在提高预测精度和抗噪方面的优势。 其他说明:尽管该模型有诸多优点,但仍存在训练时间长、计算成本高等挑战。文中提及通过优化数据预处理、调整超参数等方式改进性能。同时给出了完整的MATLAB代码实现,便于学习与复现。

    palkert_3ck_01_0918.pdf

    palkert_3ck_01_0918

    pepeljugoski_01_1106.pdf

    pepeljugoski_01_1106

    tatah_01_1107.pdf

    tatah_01_1107

    [AB PLC例程源码][MMS_046393]Motor Speed Reference.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    基于51的步进电机控制系统20250302

    题目:基于单片机的步进电机控制系统 模块: 主控:AT89C52RC 步进电机(ULN2003驱动) 按键(3个) 蓝牙(虚拟终端模拟) 功能: 1、可以通过蓝牙远程控制步进电机转动 2、可以通过按键实现手动与自动控制模式切换。 3、自动模式下,步进电机正转一圈,反转一圈,循环 4、手动模式下可以通过按键控制步进电机转动(顺时针和逆时针)

    [AB PLC例程源码][MMS_041234]Logix Fault Handler.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    [AB PLC例程源码][MMS_042348]Using an Ultra3000 as an Indexer on DeviceNet with a CompactLogix.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    智慧校园平台建设全流程详解:从需求到持续优化

    内容概要:本文详细介绍了建设智慧校园平台所需的六个关键步骤。首先通过需求分析深入了解并确定校方和使用者的具体需求;其次是规划设计阶段,依据所得需求制定全面的建设方案。再者是对现有系统的整合——系统集成,确保新旧平台之间的互操作性和数据一致性。培训支持帮助全校教职工和学生快速熟悉新平台,提高效率。实施试点确保系统逐步稳定部署。最后,强调持续改进的重要性,以适应技术和环境变化。通过这一系列有序的工作,可以使智慧校园建设更为科学高效,减少失败风险。 适用人群:教育领域的决策者和技术人员,包括负责信息化建设和运维的团队成员。 使用场景及目标:用于指导高校和其他各级各类学校规划和发展自身的数字校园生态链;目的是建立更加便捷高效的现代化管理模式和服务机制。 其他说明:智慧校园不仅仅是简单的IT设施升级或软件安装,它涉及到全校范围内的流程再造和创新改革。

    AI淘金实战手册:100+高收益变现案例解析

    该文档系统梳理了人工智能技术在商业场景中的落地路径,聚焦内容生产、电商运营、智能客服、数据分析等12个高潜力领域,提炼出100个可操作性变现模型。内容涵盖AI工具开发、API服务收费、垂直场景解决方案、数据增值服务等多元商业模式,每个思路均配备应用场景拆解、技术实现路径及收益测算框架。重点呈现低代码工具应用、现有平台流量复用、细分领域自动化改造三类轻量化启动方案,为创业者提供从技术选型到盈利闭环的全流程参考。

    palkert_3ck_02_0719.pdf

    palkert_3ck_02_0719

    2006-2023年 地级市-克鲁格曼专业化指数.zip

    克鲁格曼专业化指数,最初是由Krugman于1991年提出,用于反映地区间产业结构的差异,也被用来衡量两个地区间的专业化水平,因而又称地区间专业化指数。该指数的计算公式及其含义可以因应用背景和具体需求的不同而有所调整,但核心都是衡量地区间的产业结构差异或专业化程度。 指标 年份、城市、第一产业人数(first_industry1)、第二产业人数(second_industry1)、第三产业人数(third_industry1)、专业化指数(ksi)。

    [AB PLC例程源码][MMS_046305]R2FX.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    精品推荐-通信技术LTE干货资料合集(19份).zip

    精品推荐,通信技术LTE干货资料合集,19份。 LTE PCI网络规划工具.xlsx LTE-S1切换占比专题优化分析报告.docx LTE_TDD问题定位指导书-吞吐量篇.docx LTE三大常见指标优化指导书.xlsx LTE互操作邻区配置核查原则.docx LTE信令流程详解指导书.docx LTE切换问题定位指导一(定位思路和问题现象).docx LTE劣化小区优化指导手册.docx LTE容量优化高负荷小区优化指导书.docx LTE小区搜索过程学习.docx LTE小区级与邻区级切换参数说明.docx LTE差小区处理思路和步骤.docx LTE干扰日常分析介绍.docx LTE异频同频切换.docx LTE弱覆盖问题分析与优化.docx LTE网优电话面试问题-应答技巧.docx LTE网络切换优化.docx LTE高负荷小区容量优化指导书.docx LTE高铁优化之多频组网优化提升“用户感知,网络价值”.docx

    matlab程序代码项目案例:matlab程序代码项目案例matlab中Toolbox中带有的模型预测工具箱.zip

    matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    pepeljugoski_01_0508.pdf

    pepeljugoski_01_0508

Global site tag (gtag.js) - Google Analytics