─────────────────────────────────────────     
产品名称： 控件支付产品
修改日期：  2016-08-09
─────────────────────────────────────────

───────────
 **重要**
1） 联调前请仔细阅读以下说明。
2） 本示例PHP版本基于5.3，需开启curl、openssl功能。
3） 此工程可以跑起来测试，建议使用chrome、firefox打开。
  全渠道PC网关/WAP支付产品消费交易示例地址为：http://IP：端口/upacp_demo_app/index_05_app.php
───────────

───────────
示例工程目录结构
───────────

upacp_demo_app
  │
  ├assets ┈┈┈┈┈┈┈┈┈相关资源目录
  │  │  
  │  ├windows开启openssl所需dll文件┈┈┈┈┈windows环境php开启openssl功能所需dll文件
  │  │
  │  ├机构接入需做改动┈┈┈┈┈┈┈┈┈收单机构接入需要做的改动
  │  │ 
  │  ├测试环境证书
  │  │  │  
  │  │  ├acp_test_enc.cer┈┈┈┈┈┈┈┈┈ 【重要】测试环境敏感信息加密证书（所有商户固定使用同一个） 
  │  │  │  
  │  │  ├acp_test_sign.pfx ┈┈┈┈┈┈┈┈┈ 【重要】 测试环境签名私钥证书（所有商户固定使用同一个） 
  │  │  │  
  │  │  ├acp_test_root.cer ┈┈┈┈┈┈┈┈┈ 【重要】 测试环境验签公钥证书根证书  （所有商户固定使用同一个） 
  │  │  │  
  │  │  └acp_test_middle.cer ┈┈┈┈┈┈┈┈┈【重要】 测试环境验签公钥证书中级证书  （所有商户固定使用同一个）  
  │  │  
  │  ├生产环境证书
  │  │  │
  │  │  ├acp_prod_enc.cer┈┈┈┈┈┈┈┈┈【重要】 生产环境敏感信息加密证书（所有商户固定使用同一个）
  │  │  │
  │  │  ├acp_prod_root.cer ┈┈┈┈┈┈┈┈┈【重要】 生产环境验签公钥根证书  （所有商户固定使用同一个）  
  │  │  │
  │  │  └acp_prod_middle.cer ┈┈┈┈┈┈┈┈┈【重要】 生产环境验签公钥中级证书  （所有商户固定使用同一个）  
  │  │  
  │  ├生产环境配置文件
  │  │  │
  │  │  └acp_sdk.ini ┈┈┈┈┈┈┈┈┈ 【重要】 生产环境配置文件样例
  │  │ 
  │  ├测试环境配置文件
  │  │  │
  │  │  └acp_sdk.ini ┈┈┈┈┈┈┈┈┈ 【重要】 测试环境配置文件样例
  │  │
  │  └对账文件样例 
  │     │
  │     └802310048993424_20150905.zip┈┈┈┈┈┈┈┈┈提供的对账文件样例（如果需要可以参考）
  │  
  ├demo ┈┈┈┈┈┈┈┈┈ 示例代码
  │  │  
  │  ├api_05_app 
  │  │  │  
  │  │  ├BackReceive.php┈┈┈┈┈后台通知处理示例类 
  │  │  │    
  │  │  ├EncryptCerUpdateQuery.php ┈┈┈┈┈加密证书更新示例类（后台）       
  │  │  │  
  │  │  ├Form_6_2_AppConsume.php┈┈┈┈┈消费获取tn示例类（后台）
  │  │  │  
  │  │  ├Form_6_3_ConsumeUndo.php┈┈┈┈┈消费撤销交易示例类 （后台）
  │  │  │  
  │  │  ├Form_6_4_Refund.php┈┈┈┈┈退货交易示例类 （后台）
  │  │  │  
  │  │  ├Form_6_5_Query.php┈┈┈┈┈交易状态查询示例类 （后台）
  │  │  │  
  │  │  ├Form_6_6_FileTransfer.php┈┈┈┈┈对账文件下载示例类 （后台）  
  │  │  │  
  │  │  ├Form_6_7_1_AppPreauth.php┈┈┈┈┈ 预授权获取tn示例类（后台）
  │  │  │  
  │  │  ├Form_6_7_2_PreauthUndo.php┈┈┈┈┈预授权撤销交易示例类 （后台）
  │  │  │  
  │  │  ├Form_6_7_3_PreauthFinish.php┈┈┈┈┈预授权完成交易示例类 （后台）
  │  │  │  
  │  │  └Form_6_7_4_PreauthFinishUndo.php┈┈┈┈┈预授权完成撤销交易示例类 （后台）
  │  │   
  │  ├getdir.php ┈┈┈┈┈获取服务器绝对路径
  │  │   
  │  ├multiCertDemo.php ┈┈┈┈┈多证书demo（证书方式）
  │  │   
  │  └multiKeyDemo.php ┈┈┈┈┈多证书demo(秘钥方式）
  │  
  ├sdk┈┈┈┈┈┈sdk，除了acp_service外的类为内部使用，不用看，acp_sdk.ini为配置文件
  │  │
  │  ├acp_sdk.ini ┈┈┈┈ 配置文件，默认取了“assets/测试环境配置文件”文件夹下的证书方式签名配置文件。
  │  │
  │  └acp_service.php ┈┈┈┈┈┈ 全渠道 SDK API类
  │
  ├pages ┈┈┈┈┈┈┈┈┈ demo演示相关页面，内容不重要，未列举
  │
  ├static ┈┈┈┈ demo演示相关js和css，内容不重要，未列举
  │
  └index_05_app.php ┈┈┈┈demo演示入口页面

───────────
**注意**

1.【接口规范】该接口参考文档位置：
      接口产品规范：open.unionpay.com帮助中心 下载  产品接口规范  《控件产品接口规范》
      应答码规范：《平台接入接口规范-第5部分-附录》

2.【关于商户号】开发包中使用的商户号777290058110048是open.unionpay.com注册的测试商户号，只能在入网测试环境使用；
      可以先使用这个商户调通交易(当然您也可以自己在这个网站注册一个777开头的测试商户号，自己注册后要开通权限：https://open.unionpay.com 登陆后 右上角我的测试-我的产品-将未测试的产品点击成测试状态，过10分钟后就有权限了）
      正式线上环境请替换成申请的正式商户号，并确保商户号有对应的权限，如果报了无此交易权限等错误，请联系您申请接入银联的业务人员确认您做的交易是否开通了对应的权限。
  
3.【关于证书文件】测试环境使用的签名私钥证书，验签公钥证书均在assets目录下找得到，使用的时候只需要配置到sdk/acp_sdk.ini指定的目录下即可，使用我们的demo不需要了解签名，验签等算法，详细参考配置文件注释。
                                      生产环境使用的验签公钥证书，生产环境的acp_sdk.ini文件在assets提供了，只需要配置上私钥和公钥即可，详细参考配置文件注释。

4.测试过程中的如果遇到疑问或问题您可以：
  1）优先在open平台中查找答案：
  	 调试过程中的问题或其他问题请在 https://open.unionpay.com/ajweb/help/faq/list 帮助中心 FAQ 搜索解决方案
             测试过程中产生的7位应答码问题疑问请在https://open.unionpay.com/ajweb/help/respCode/respCodeList 输入应答码搜索解决方案
  2）咨询【测试环境】在线人工支持： open.unionpay.com注册一个用户并登陆在右上角点击“在线客服”，咨询人工QQ测试支持,咨询的时候需把 请求报文，请求银联地址，报错描述 贴给支持人员以方便查问题。
  3）测试环境测试支付请使用测试卡号测试， FAQ搜索“测试卡”。
  4）切换生产环境要点请FAQ搜索“切换”。
  
5.【生产环境问题】连接银联生产环境测试遇到的问题 如果通过open平台无法解决 请登陆merchant.unionpay.com 菜单"服务单管理"->"创建服务单"请求排查问题。

6. 为方便查看代码没正确执行的原因，测试时请务必打开php.ini的display_errors，正式使用时再设置Off。

───────────

