JAVA银联支付说明

合集下载

java关于支付的面试题

java关于支付的面试题

java关于支付的面试题Java是一门广泛应用于支付领域的编程语言,许多公司在招聘开发者时都会提出与支付相关的面试题。

本文将介绍一些常见的Java支付面试题,并给出详细的答案和解析。

1. 什么是Java支付接口?Java支付接口是指用于与第三方支付平台进行交互的工具或类库。

通过调用这些接口,我们可以实现支付功能,包括生成支付订单、支付结果的回调处理、退款等操作。

Java支付接口通常包括SDK、API 和支付网关等。

2. 如何调用支付接口实现支付功能?要实现支付功能,我们首先需要选择合适的支付接口,例如支付宝支付接口或微信支付接口。

一般而言,我们需要在自己的Java项目中引入相关的支付SDK或API,并根据提供的接口文档进行调用。

以支付宝支付为例,我们可以使用支付宝提供的Java SDK,在代码中按照接口文档的要求进行配置和调用,如生成支付链接、处理支付回调等。

3. 如何处理支付回调?支付回调是指支付平台在支付完成后通知我们平台支付结果的一种方式。

为了确保支付的安全性和准确性,我们需要及时处理支付回调并验证支付结果。

在Java中,可以通过编写一个接收支付回调通知的服务端接口来处理支付回调。

当支付平台发送回调通知时,我们的服务端接口会接收到通知,并根据支付平台提供的文档进行验证、解析支付结果。

接收到支付结果后,我们可以进行相应的业务逻辑处理,例如修改订单状态、发送支付成功的通知等。

4. 如何保证支付安全性?在支付过程中,安全性是非常重要的。

以下是几个常用的保证支付安全性的方法:4.1 使用HTTPS协议:HTTPS协议可以保证数据加密传输,防止敏感信息被窃取。

4.2 接口参数签名:在请求支付接口时,一般会使用签名算法对请求参数进行签名。

支付平台会提供相应的签名算法和密钥,我们需要按照要求对参数进行签名,并将签名结果放入请求参数中,支付平台在收到请求后会对签名进行验证,以确保支付请求的完整性和真实性。

java支付路由规则代码实现

java支付路由规则代码实现

java支付路由规则代码实现在Java中实现支付路由规则,通常涉及到解析支付请求,根据特定的规则(例如最低费率、服务可用性等)选择一个支付网关或服务。

下面是一个简单的例子,演示了如何实现这个过程。

假设我们有一个`PaymentGateway`接口,表示支付网关:```javapublic interface PaymentGateway {String NAME = "Payment Gateway";boolean isAvailable();double getFeeRate();void processPayment(PaymentRequest request);}```然后,我们创建几个实现这个接口的类,表示不同的支付网关:```javapublic class PaymentGatewayA implements PaymentGateway { Overridepublic boolean isAvailable() {return true;}Overridepublic double getFeeRate() {return ; // 2% fee rate}Overridepublic void processPayment(PaymentRequest request) {// Implement payment processing logic here}}public class PaymentGatewayB implements PaymentGateway {Overridepublic boolean isAvailable() {return true;}Overridepublic double getFeeRate() {return ; // % fee rate}Overridepublic void processPayment(PaymentRequest request) {// Implement payment processing logic here}}```接下来,我们可以创建一个`PaymentRouter`类,实现支付路由规则:```javaimport ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ;import ; // uncomment for Java 8 and above (or use your favorite library) for Stream API support in this code snippet only! Java 8 has no support for Stream API in this code snippet! If you use Java 8, remove the comments from the import statements for Stream APIsupport! Java 8 has no support for Stream API in this code snippet! If you use Java 8, remove the comments from the import statements for Stream API support! Java 8 has no support for Stream API in this code snippet! If you use Java 8, remove the comments from the import statements for Stream API support! Java 8 has no support for Stream API in this code snippet! If you use Java 8, remove the comments from the import statements for Stream API support! Java 8 has no support for Stream API in this code snippet! If you use Java 8, remove the comments from the import statements for Stream API support! Java 8 has no support for Stream API in this code snippet! If you use Java 8, remove the comments from the import statements for Stream API support! Java 8 has no support for Stream API in this code snippet! If you use Java 8, remove the comments from the import statements for Stream API support! Java 8 has no support for Stream API in this code snippet! If you use Java 8, remove the comments from the import statements for Stream API support! Java 8 has no support for Stream API in this code snippet! If you use Java 8, remove the comments from the import statements for Stream API support! Java 8 has no support for Stream API in this code snippet! If you use Java 8, remove the comments from the import statements for Stream API support! Java 8 has no support for Stream API in thiscode snippet! If you use Java 8, remove the comments from the import statements for Stream API support! Java 8 has no support for Stream API in this code snippet! If you use Java 8, remove the comments from the import statements for Stream API support! Java 8 has no support for Stream API in this code snippet! If you use Java 8, remove the comments from the import statements for Stream API support! Java 8 has no support for Stream API in this code snippet! If you use Java 8, remove the comments from the import statements for Stream API support! Java 8 has no support for Stream API in this code。

中国邮政储蓄银行网上支付平台商户开发指南Java版V2.1

中国邮政储蓄银行网上支付平台商户开发指南Java版V2.1

网上支付平台商户开发指南(JAVA版)中国邮政储蓄银行有限责任公司文档修改记录版本日期说明编写审核1.0 2009-11-1 形成初稿csii 陈宜1.6 2010-3-20 更新接口说明csii 陈宜2.0 2010-11-1 更新商户开发包,更新文档与接口说明csii目录1 概述 (5)1.1 文档说明 (5)1.2 版本说明 (5)1.3 阅读对象 (5)2 系统概述 (5)2.1 定义 (5)2.2 支付流程简述 (6)2.3 退货、查询及对帐文件下载流程 (7)2.4 对帐文件格式 (8)2.5 安全控制 (8)3 开发准备 (8)3.1 环境要求 (8)3.2 开发包文件清单 (9)3.3 商户数字证书安装步骤 (9)3.3.1 说明 (9)3.3.2 准备工作 (9)3.3.3 获得证书 (10)3.3.4 商户密钥容器文件—“psbc_merchant.jks” (10)3.3.5 商户密钥容器属性文件—“psbc_merchant.properties” (12)3.3.6 将密钥导入商户密钥容器文件—“psbc_merchant.jks” (12)3.3.7 修改密钥容器的密码 (14)3.3.8 导出商户证书 (14)3.3.9 将商户证书通过网上银行安全传递给银行 (16)3.4 商户数字证书私钥更新步骤 (16)3.4.1 删除旧的商户数字签名证书 (16)3.4.2 导入新的商户数字签名证书 (17)3.4.3 上传商户证书 (17)3.5 银行支付平台证书更新步骤 (17)3.5.1 删除银行支付平台证书 (17)3.5.2 导入银行支付平台证书 (17)4 签名及验签开发指引 (18)4.1 软件包接口说明 (18)4.1.1 签名方法 (18)4.1.2 验签方法 (19)4.2 签名及验签的调用 (19)4.3 应用部署 (19)5 交易接口描述 (19)5.1 基本交易要素 (20)5.1.1 输入要素 (20)5.1.2 交易提交URL (21)5.2 交易方式 (22)5.2.1 如何编写https页面交易接口 (22)5.2.2 如何编写https指令交易接口 (23)5.3 交易说明 (24)5.3.1 支付交易(IPER) (24)5.3.2 退货交易(IPSR) (29)5.3.3 单笔查询(IQSR) (30)5.3.4 多笔查询(BQSR) (31)5.3.5 下载对帐文件(IDFR) (33)6 上线步骤 (35)6.1 签订业务协议 (35)6.2 开户 (35)6.3 开通公司网银 (35)6.4 申请并下载公司网银证书 (35)6.5 开通银行支付平台 (36)6.6 申请并下载银行支付平台证书 (36)6.7 配置数字证书 (36)6.8 上传商户证书 (36)6.9 配置生产环境URL (36)6.10 试运行 (36)7 商户管理系统使用说明 (37)7.1 登录商户管理系统 (37)7.2 商户端证书公钥的上传 (39)7.3 支付功能的开通/关闭 (39)7.4 关联账户余额查询 (39)7.5 关联账户明细查询 (40)7.6 支付交易查询 (41)7.7 对账文件下载 (41)7.8 单笔退货 (42)7.9 批量退货 (42)7.10 批量退货结果文件下载 (43)8 结算说明 (43)1概述1.1 文档说明网上支付业务中,商户是进行商品售出的一方,客户是进行商品购买和货款支付的一方,邮政储蓄银行支付平台是为客户的购买行为进行支付的一方,以下简称银行支付平台。

银联支付接口常见错误总结

银联支付接口常见错误总结

银联⽀付接⼝常见错误总结常见接⼊问题及解答1) 开发过程中,报157错误。

答:看下GATEID是不是写了0001,如果是的话,把0001删掉。

2) ⽹上⽀付后,点提交时,页⾯提⽰:标准数据域不能为空怎么办?答:商户⾃⾏检查各条程序是否按照《NetPayClient ⽤户⼿册》⾥的内容来编写。

当出现该条提⽰时,表⽰编程⼈员没有按照⼿册⾥的程序来编写,出现诸如拼写错误、漏输重要数据等低级错误。

提醒商户⾃⾏检查以下重要参数:MerId, OrdId, TransAmt, CuryId, TransDate, TransType,及和这⼏个重要参数有关的所有程序。

典型案例:某公司编程⼈员在编写时输⼊:……<input type=hidden name=”cruyId” value=”156”>……⽽正确的应该为:<input type=hidden name=”curyId” value=”156”>。

由于⼀个单词的错误,造成数据读取时⽆法读取原有的重要信息,即找不到curyId所包含的重要参数造成页⾯提⽰标准数据域不能为空。

3) 商户在测试过程中报“错误500”如何解决?答:该错误为系统错误,属于程序编写错误,测试提交地址和正式提交地址搞混导致。

典型案例:程序编写时输⼊:…………4) 商户出现-109错误怎么办?答:-109错误表⽰加密不成功,可能由多种问题导致。

当前遇到的主要原因是商户在开发过程中使⽤的签名⽅式不正确,导致⽆法签名成功。

在这⾥,需要提醒商户注意接⼝版本号的问题,20070129的版本号和20040916的版本号在开发上是不同的,采⽤错误的签名格式,会导致⽆法正确签名,请商户认真阅读操作⽂档第21页~25页的相关说明。

07版本需要通过对⼀串字符串签名来实现。

具体区别如下:接⼝类型2004091620070129发送交易NetPayClient for Java signOrder signNetPayClient for Win32sign signDataNetPayClient for C signOrder signData接收交易NetPayClient for Java verifyTransResponse verifyTransResponseNetPayClient for Win32check checkNetPayClient for C verifyTransResponse verifyTransResponse遇到该错误时,可以⽤2.1中提到的⽅法,为⽤户检查发送代码的情况。

银联聚合支付操作流程

银联聚合支付操作流程

银联聚合支付操作流程银联聚合支付操作流程随着移动支付的普及和便利性的提升,银联聚合支付成为了越来越多商家和消费者的首选支付方式。

本文将介绍银联聚合支付的操作流程,以帮助读者了解如何进行这一支付方式。

一、支付接入准备首先,商家需要确保自己已经申请开通了银联在线支付服务并获得了商户号。

商户号是银联为商家生成的唯一标识,用于识别商家身份以及对接支付系统。

商家还需要根据自己的实际情况选择合适的支付接入方式。

银联聚合支付提供了多种接入方式,包括网页支付、手机网页支付、APP支付等。

商家可以根据自己的业务特点和用户需求选择最为适合的接入方式。

二、支付接入流程1. 商家接入商家需要开发人员根据银联提供的接口文档,将银联的支付接口集成到自己的系统当中。

接入方式多样,可以根据实际情况选择适合的接口和技术方案。

2. 用户下单当用户在商家的网页或者APP上选择了要购买的商品后,商家将用户选择的商品信息传递给银联支付系统,生成订单并返回给商家系统。

3. 用户支付商家将订单信息展示给用户,用户选择支付方式并完成支付操作。

银联聚合支付支持多种支付方式,如银行卡支付、支付宝、微信支付等,用户可以根据自己的需求选择最为便捷的支付方式。

4. 支付结果通知在用户支付完成后,银联支付系统将支付结果通知商家系统。

商家可以根据支付结果进行订单状态的更新和后续的业务处理。

5. 数据对账为了确保交易的准确性和可靠性,商家需要定期对账。

银联支付系统会提供对账文件供商家下载,商家可以将对账文件导入到自己的系统中进行对账操作。

6. 结算商家根据银联支付系统提供的对账数据和结算规则,进行结算操作。

银联聚合支付支持按日结算、T+1结算等不同的结算方式,商户根据自己的实际情况选择最为合适的结算方式。

三、支付安全保障银联聚合支付注重用户支付的安全性和保障,采取了多种安全措施来保护用户和商家的权益。

其中,商家需要注意以下几个方面:1. 风控策略商户可以根据自身业务情况设置相应的风控策略,以减少支付风险。

银联支付流程

银联支付流程

银联支付流程银联支付流程是指通过银联网络进行支付的步骤和流程。

银联支付是一种方便快捷且安全的支付方式,广泛应用于各个领域。

下面将为大家介绍一下银联支付的流程。

首先,用户需要选择使用银联支付的商家或者服务提供商,确保该商家或者服务提供商支持银联支付方式。

一般情况下,商家或者服务提供商在收款处会标有银联支付的标识。

接下来,用户需要选择购买的商品或者服务。

一旦选定了商品或者服务,用户需告知商家或者服务提供商选择使用银联支付,然后商家会提供一个二维码或者条形码给用户扫描。

然后,用户打开手机上安装的银联支付应用,点击扫码功能,对准商家提供的二维码或者条形码进行扫描。

银联支付应用会自动识别二维码或者条形码的信息。

接下来,用户需要输入支付密码进行验证。

支付密码是用户在银联支付应用中设定的密码,用于保护用户的支付安全。

输入正确的支付密码后,用户需要确认支付金额和收款人的信息。

最后,用户点击确认支付按钮,银联支付应用会向商家或者服务提供商发送支付请求。

商家接收到支付请求后会进行验证,确认支付金额和收款人的信息无误后,商家会提交支付请求给银联网络。

银联网络会对支付请求进行处理,连接用户的银行账户和商家的收款账户。

银联网络会向用户所属的发卡银行发送支付指令,并等待发卡银行的确认。

发卡银行收到支付指令后,会进行账户余额的确认和支付密码的验证。

如果账户余额充足且支付密码正确,发卡银行会向银联网络发送支付确认信息。

银联网络收到支付确认信息后,会向商家或者服务提供商发送支付成功的通知。

商家或者服务提供商收到支付成功的通知后,会向用户提供购买的商品或者服务。

整个银联支付流程从用户扫码到商家确认支付成功一般只需要几秒钟的时间。

银联支付流程简便快捷,且安全可靠,因此被广大用户所喜爱和使用。

综上所述,银联支付流程包括选择商家和商品、扫码支付、验证支付密码、确认支付金额和收款人信息、确认支付、等待支付确认和通知商家等步骤。

银联支付方便快捷且安全可靠,对于电子商务和移动支付的发展起到了重要的推动作用。

银联互联网快捷支付产品方案介绍

银联互联网快捷支付产品方案介绍
定制化服务
根据用户需求提供定制化的支付解决方案,满足不同行业和场景 的支付需求。
综合金融服务
整合银行、保险、证券等各类金融服务,为用户提供一站式的综 合金融服务体验。
市场拓展
拓展海外市场
积极开拓海外市场,提升银联在国际支付市场的份额和影响力。
合作共赢
与各类金融机构、第三方支付机构等开展合作,共同推动支付产业 的发展。
填写支付信息
用户需要填写正确的支付信息,包括银行卡信息、支付金额等。
确认支付
用户需要确认支付信息无误后,进行支付操作。支付成功后,用户 会收到相应的支付凭证和短信通知。
查询与核对
查询交易记录
用户可以在银联互联网快捷支付平台查 询自己的交易记录,包括支付记录、退 核对自己的银行账户和支付账户 余额,以确保账户信息的准确性和完整性 。
04
产品市场分析
市场需求
用户基数大
随着互联网的普及,越来越多的 人开始使用网上支付,银联互联 网快捷支付产品的潜在用户基数
较大。
便捷性需求
用户对于支付的便捷性需求日益增 长,银联互联网快捷支付产品能够 满足用户快速完成支付的需求。
安全性需求
用户对于支付的安全性非常关注, 银联互联网快捷支付产品采用了多 种安全措施,能够保障用户的资金 安全。
绑定银行卡
01
选择银行卡
用户需要在银联互联网快捷支付 平台选择需要绑定的银行卡,并 填写正确的银行卡信息。
02
03
验证银行卡
确认绑定
用户需要提供银行卡的验证码, 以验证银行卡信息的真实性和准 确性。
用户需要确认绑定银行卡的信息, 并同意相关服务协议,完成银行 卡的绑定操作。
支付操作

银联商户支付接入用户手册

银联商户支付接入用户手册

NetPayClient用户手册(V ersion: 2.5.3)上海银联电子支付服务有限公司地址:延安西路2299号上海世贸商城大厦19楼1901-1905室(200336) Tel: (86-021)52504528 Fax: (86-021)62361165 Website: ©Copyright 2004.08 ChinaPay e-Payment Service Co.,Ltd. All rights reserved目录1.ChinaPay简介 (3)2.前言 (3)2.1.目的 (3)3.总述 (3)3.1.使用对象 (3)3.2.运行及开发环境 (4)3.3.术语 (4)3.4.基本概念 (5)3.4.1.公钥密码体系(Public-key Cryptography) (5)3.4.2.隐秘钥密码体系(Secret-key Cryptography) (6)3.4.3.摘要算法 (6)3.4.4.数字签名 (7)3.4.5.数字信封 (8)3.5.客户端NetPayClient在各系统下的安装及调用 (9)3.5.1.说明 (9)PayClient for Java 使用说明 (9)PayClient for Win32使用说明 (12)PayClient for C使用说明 (17)4.支付 (25)4.1.目标 (25)4.2.交易流程 (25)4.3.接入方法 (25)4.3.1.接入地址 (25)4.3.2.接入版本 (25)5.退款 (29)5.1.目标 (29)5.2.处理流程 (29)5.3.接入方法 (30)5.3.1.接入地址 (30)5.3.2.接入版本 (30)6.查询 (32)6.1.目标 (32)6.2.处理流程 (32)6.3.接入方法 (33)6.3.1.接入地址 (33)6.3.2.接入版本 (33)附录A常见接入问题及解答 (35)附录B 应答码说明 (35)ChinaPay交易状态码 (35)NetPayClient API函数错误代码 (35)查询,单笔退款错误代码 (36)1.ChinaPay简介CHINAPAY致力于发展中国金融电子支付服务。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JA V A银联支付说明
一、术语
电子商务Electronic Commerce 是指通过信息网络以电子数据信息流通的方式在全世界范围内进行并完成的各种商务活动、交易活动、金融活动和相关的综合服务活动。

网络贸易指在网络平台基础上直接进行在线贸易(Trade Online),利用数字化技术将企业、海关、运输、金融、商检和税务等有关部门有机连接起来,实现从浏览、洽谈、签约、交货到付款等全部或部分业务自动化处理。

网络贸易由信息共享、订购、支付、执行、服务与支持5个部分组成,每个部分在网络贸易中都各自承担了不同的任务
B2C(Business to Consumer) 指企业与消费者之间的电子商务。

这是消费者利用因特网直接参与经济活动的形式,类同于商业电子化的零售服务。

目前,在因特网上有许许多多商各种类型的虚拟商店和虚拟企业,提供各种与商品销售有关的服务。

B2B(Business to Business) 指企业与企业间的电子商务。

企业可以使用因特网或其它网络对每笔交易寻找最佳合作伙伴,完成从丁鸥到结算的全部交易行为,包括向供应商订货、签约、接受发票和使用电子资金转移、信用证、银行托收等方式进行付款,以及在商贸过程中发生的其它问题,如索赔,商品发送管理和运输跟踪等。

商户具有电子商务功能的商店和企业
银行卡商业银行所发行的储蓄卡、信用卡、储值卡、企业购物卡、购物联名卡、虚拟电子卡等支付工具
持卡人银行卡的拥有者
网上支付密码数字串。

发卡行用于鉴别网上持卡人身份,具体产生方法、使用范围和管理规范见各发卡行“业务规范”
发卡行具有发银行卡功能的商业银行。

开户行指持卡人卡账户或企业资金账户所在的商业银行
SSL(Source Socket Layer) 是一种基于网络传输层的安全网络传输协议,实现客户端与服务端间的数据安全传输
二、订单签名函数
1、JA V A语言方法说明:
方法说明:
Public String signOrder(String MerId, String OrId, String TransAmt, String CuryId, String TransDate, String TransType)
参数说明:
String MerId --商户编号,长度为15个字节的数字串,由ChinaPay或清算银行分配。

String OrdId --订单号,长度为16个字节的数字串,由商户系统生成,失败的订单号允许重复支付。

String TransAmt --交易金额,长度为12个字节的数字串,例如:0000000000001234表示12.34
String CuryId --货币代码,长度为3个字节的数字串,目前只支持人民币,取值为”156”
String TransDate --交易日期,长度为8个字节的数字串,表示格式为:YYYYMMDD String TransType -- 交易类型,长度为4个字节的数字串,取值范围为:“0001”和“002”
其中“0001”表示消费交易,“0002”表示退货交易
返回值:
String CheckValue[256]--即NetPayClient根据上述输入参数生成的商户数字签名,长度为256字节的数字串。

三、使用说明商户在消费者发送订单确认页面之前,调用本函数或方法产生订单签名,然后生成订单确认页面,供消费者再次确认订单内容,并允许消费者选择支付或取消订单。

订单确认页面中表单(FORM)的具体例子如下:
<form action=”https:///pay/TransGet” method=post>
<input type=”hidden name=”MerId” value=”123451234512345”>
<input type=”hidden name=”OrdId” value=”000000000000001”>
<input type=”hidden name=”TransAmt” value=”000000001234”>
<input type=”hidden name=”Curyd” value=”156”>
<input type=”hidden name=”TransDate” value=”20150909”>
<input type=”hidden name=”TransType” value=”0001”>
<input type=”hidden name=”Version” value=”20040916”>(接口版本号)
<input type=”hidden name=”BgRetUrl” value=”/pay/payback1.php”>
(后台交易接受URL,长度不要超过80个字节)
<input type=”hidden name=”PageRetUrl” value=”/pay/payback2.php”> (页面交易接受URL,长度不要超过80个字节)
<input type=”hidden name=”GateId” value=”0001”>(支付网关号,可选,建议留空)
<input type=”hidden name=”Priv1” value=”Memo”>(商户私有域,可选,长度不要超过60个字节)
<input type=”hidden name=”ChkValue” value=”X...X”>(256字节长的ASCII)
</form>
注:其中GateId和Priv1为可选项,分别表示”支付网关号”和”保留字段”.如填写GateId(支付网关号),则消费者将直接进入支付页面,否则进入网关选择页面.具体网关见如下:Priv1为商户私有域,商户通过此字段向chinapay发送的信息,chinapay依原样填充返回给商户。

当使用版本号”20040916”时,BgRetUrl和PageRetUrl必须填写。

0001 中国银行
0005 工商银行
0008 农业银行
0009 兴业银行
0010 中国建设银行
0015 民生银行
0016 好易联
0021 华夏银行
四、验证交易应答函数
方法说明:
Public boolean verifyTransResponse(String MerId, String OrdId, String transAmt, String CuryId, String TransDate, String TransType, String OrderStatus, String CheckValue)
参数说明:
String MerId --商户编号,长度为15个字节的数字串,由ChinaPay或清算银行分配。

String OrdId --订单号,长度为16个字节的数字串,由商户系统生成,失败的订单号允许重复支付。

String TransAmt --交易金额,长度为12个字节的数字串,例如:0000000000001234表示12.34
String CuryId --货币代码,长度为3个字节的数字串,目前只支持人民币,取值为”156”
String TransDate --交易日期,长度为8个字节的数字串,表示格式为:YYYYMMDD String TransType -- 交易类型,长度为4个字节的数字串,取值范围为:“0001”和“002”
其中“0001”表示消费交易,“0002”表示退货交易
返回值:
String CheckValue[256]--校验值即NetPayClient根据上述输入参数生成的商户数字签名,长度为256字节的数字串。

返回值:
true--表示成功,即该交易应答为ChinaPay所发送,商户根据“交易状态”进行后续处理;否则表示失败,即无效应答,商户可忽略该应答或记入垃圾箱。

String OrderStatus --交易状态,长度为四个字节的数字串,详见交易状态说明书
五、使用说明:
ChinaPay 一旦收到发卡行的交易应答,会以POST方式实时通知商户交易结果(商户的接受交易结果的URL可以在联网时设定,也可以在交易提交时动态设定)。

商户收到ChinaPay发送的交易应答后,调用本函数或方法验证签名,验证成功表示该交易结果确实来源于ChinaPay,商户予以接受,并进行相关处理。

注:merid,orderno,amount,currencycode,transdate,ttanstype,status,checkvalue
其含义跟上面一一对应。

六、交易状态码说明
Chinapay 交易状态码
1001 消费交易成功
1003 退货交易成功
其他其他均为交易失败,具体信息请登录Chinapay交易控制台查询,或查询各银行出错信息文档
NetPayClient API 函数出错代码
signOrder
-100 环境变量“NPCDIR”未设置
-101 商户密钥文件不存在或无法打开
-102 密钥文件格式错误
-103 商户号长度出错
-105 URL地址长度超过80个字节verifyTransResponse
-109 加密不成功
-112 Chinapay公钥文件不存在或无法打开-113 公钥文件格式错误
-114 网关商户号长度出错
-118 使用错误公钥。

相关文档
最新文档