精华内容
下载资源
问答
  • 对账单模板
    万次阅读
    2017-09-27 15:04:09
    针对微信支付的对账单格式,这里进行一下详细的说明。
    对账单表头和交易订单的关系
    交易时间 
    对应查询订单接口time_end
    公众账号ID
    appid
    商户号
    mch_id
    子商户号
    sub_mch_id
    设备号
    对应下单接口device_info
    微信订单号
    对应查询订单接口transaction_id
    商户订单号
    out_trade_no
    用户标识
    openid, 相对于appid的用户唯一标识
    交易类型
    对应下单接口trade_type
    交易类型见 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_2
    交易状态
    SUCCESS: 对应收入
    REFUND: 对应支出-退款
    REVOKED: 对应支出-撤销
    这里有几点注意:
    账单的交易状态,和订单的交易状态没有关系,发生过退款的订单,在这里依然有一条success
    交易状态不会变更
    只有发生过支付(进账)的订单,在撤销后才会发生支出并出现在对账单里。
    付款银行
    bank_type
    见https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_2
    货币种类
    fee_type
    总金额
    total_fee
    企业红包金额
    coupon_fee
    微信退款单号
    对应查询退款接口refund_id
    商户退款单号
    对应退款/查询退款的out_refund_no
    退款金额
    对应单笔退款时的refund_fee
    企业红包退款金额
    对应coupon_refund_fee
    退款类型
    refund_channel
    退款状态
    PROCESSING: 已经从账面扣款
    SUCCESS: 已经从账面扣款,并且出对账单时这个退款已经到账
    商品名称
    body
    商户数据包
    attach
    手续费
    精确到小数点后2位,四舍五入。末尾填充3个0。
    费率
    商户号对应的费率,同一个商户号一致。
    文件格式
    编码
    使用接口下载的时候,是utf8编码
    在商户平台下载的时候,根据选择的office版本不同,编码不同
    文件名格式
    接口下载的是字符串,无文件名
    更多相关内容
  • 对账单模板

    2014-06-28 10:48:17
    对账单模板哦,可以使用在公司工程工厂,等各种领域
  • 表格模板-对账单模板.ett
  • 对账单excel模板下载

    2020-12-08 15:54:11
    这是一套对账单excel模板下载,喜欢的人都来下载吧。该文档为对账单excel模板下载,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 银行流水账打印软件,银行对账单模板,银行流水账打印程序,可以打印工商银行、建设银行、中国银行、农业银行等几大银行的对账单、流水账单
  • 这是一套客户对账单excel模版下载,喜欢的人都来下载吧。该文档为客户对账单excel模版下载,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 这是一套供货商对账单excel模版下载,喜欢的人都来下载吧。该文档为供货商对账单excel模版下载,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • Excel进销存系统模板81套+wps宏插件 精选可编辑进销存采购出入库管理系统模板 进销存出入库管理系统 进销存管理系统 产品信息 入库单 入库明细查询 收款记录表 客户信息 出库单 出库明细查询 ...客户对账单
  • Excel模板财务报表-对账单.zip
  • 对账单excel模板下载.xlsx
  • 银行对账单英文模板.doc
  • 售后财会对帐(表格模板、DOC格式).doc
  • 表格模板-供货商对账单.ett
  • 表格模板-对账单.ett

    2019-09-09 09:25:48
    表格模板-对账单.ett
  • 81套excel进销存系统模板出入库明细统计分析对账单供应商信息Excel模板 .zip
  • 表格模板-公司对账单.ett
  • 最近要做支付对账,即检查第三方支付与数据库中账单是否一一对应,涉及到微信对账单的处理,成功时,微信账单接口返回数据以文本表格的方式返回,第一行为表头,后面各行为对应的字段内容,字段内容跟查询订单或退款...

    最近要做支付对账,即检查第三方支付与数据库中账单是否一一对应,涉及到微信对账单的处理,成功时,微信账单接口返回数据以文本表格的方式返回,第一行为表头,后面各行为对应的字段内容,字段内容跟查询订单或退款结果一致,具体字段说明可查阅相应接口。

    Ps:至于如何调用微信接口下载对账单,在微信的官方SDK包中就有现成的方法,直接调用即可。注意对账单接口一次只能查询一天的数据。代码大致如下:

    // 引入微信sdk文件

    require_once APP_DIR . '/ome/lib/wxpay/lib/WxPay.Api.php';

    require_once APP_DIR . '/ome/lib/wxpay/log.php';

    // 实列化下载对账单对象

    $input = new WxPayDownloadBill();

    // 对账单日期

    $input->SetBill_date(date("Ymd", strtotime("-1 day")));

    // 对账单类型

    $input->SetBill_type('ALL');

    // 获取账单信息

    $downloadBillResult = WxPayApi::downloadBill($input);

    打印$downloadBillResult就会发现他是一个数据文本(string),本文程序需要实现的功能就是从这个字符串从提取每一笔订单中的有效信息,参考代码如下:

    /**

    * 微信对账单数据处理

    * @param $response 对账单数据

    * @return array 返回结果

    */

    public function deal_WeChat_response($response){

    $result = array();

    $response = str_replace(","," ",$response);

    $response = explode(PHP_EOL, $response);

    foreach ($response as $key=>$val){

    if(strpos($val, '`') !== false){

    $data = explode('`', $val);

    array_shift($data); // 删除第一个元素并下标从0开始

    if(count($data) == 24){ // 处理账单数据

    $result['bill'][] = array(

    'pay_time' => $data[0], // 支付时间

    'APP_ID' => $data[1], // app_id

    'MCH_ID' => $data[2], // 商户id

    'IMEI' => $data[4], // 设备号

    'order_sn_wx' => $data[5], // 微信订单号

    'order_sn_sh' => $data[6], // 商户订单号

    'user_tag' => $data[7], // 用户标识

    'pay_type' => $data[8], // 交易类型

    'pay_status' => $data[9], // 交易状态

    'bank' => $data[10], // 付款银行

    'money_type' => $data[11], // 货币种类

    'total_amount' => $data[12], // 总金额

    'coupon_amount' => $data[13], // 代金券或立减优惠金额

    'refund_number_wx' => $data[14], // 微信退款单号

    'refund_number_sh' => $data[15], // 商户退款单号

    'refund_amount' => $data[16], // 退款金额

    'coupon_refund_amount' => $data[17], // 代金券或立减优惠退款金额

    'refund_type' => $data[18], // 退款类型

    'refund_status' => $data[19], // 退款状态

    'goods_name' => $data[20], // 商品名称

    'service_charge' => $data[22], // 手续费

    'rate' => $data[23], // 费率

    );

    }

    if(count($data) == 5){ // 统计数据

    $result['summary'] = array(

    'order_num' => $data[0], // 总交易单数

    'turnover' => $data[1], // 总交易额

    'refund_turnover' => $data[2], // 总退款金额

    'coupon_turnover' => $data[3], // 总代金券或立减优惠退款金额

    'rate_turnover' => $data[4], // 手续费总金额

    );

    }

    }

    }

    return $result;

    }

    返回的数据分为2部分,bill节点下存放的是具体流水数据,summary节点下存放的是统计数据

    主要的思路是微信账单返回的结果格式是固定的,可以用 '`',换行符(PHP_EOL)实现字符串的分割,然后每 24 个 字段为一个订单的描述信息,最后 6 个字段为账单的汇总信息。因此通过循环就可以遍历整个账单。

    大家有更好的解决方案,欢迎把代码贴出来一起交流!

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

    展开全文
  • Excel模板对 账 .zip

    2022-06-14 17:27:35
    Excel模板对 账 .zip
  • 出库模版,电脑打印送货
  • 通过url下载zip对账单文件,进行解压。读取压缩文件内容import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;...

    通过url下载zip对账单文件,进行解压。

    读取压缩文件内容

    import java.io.BufferedOutputStream;

    import java.io.BufferedReader;

    import java.io.BufferedWriter;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.FileOutputStream;

    import java.io.FileWriter;

    import java.io.IOException;

    import java.io.InputStream;

    import java.io.InputStreamReader;

    import java.net.URL;

    import java.net.URLConnection;

    import java.text.SimpleDateFormat;

    import java.util.Date;

    import com.alipay.downOrdession.*;//修改zip源码包

    public class Zip2String {

    public static void main(String[] args) throws Exception {

    String alipay_url =

    "http://dwbillcenter.alipay.com/downloadBillFile.resource?bizType=trade&userId=20889117596609430156&fileType=csv.zip&bizDates=20170628&downloadFileName=20889117596609430156_20170628.csv.zip&fileId=%2Ftrade%2F20889117596609430156%2F20170628.csv.zip&timestamp=1499075857&token=fdcd1fa66d4270ff19f727db0db7af70";

    String filename=getDownloadFileName(alipay_url);

    String down_url = "d:\\test\\ceshi123\\"+filename+".zip";

    /*

    * 通过调用支付宝接口返回的url下载zip文件

    */

    boolean down_success = downLoadZip(alipay_url,down_url);

    String connetall = "";

    //true or false 下载成功,调用解压方法

    if(down_success){

    File save_down_url = new File(down_url);

    /*

    * 解压下载的zip文件

    */

    // String unzipFilePath = comZipCvsFile(save_down_url);

    /*

    * 读取下载的zip文件,返回一个string字符串

    */

    connetall = readZipToString(save_down_url);

    }

    /* 返回结果

    * 1.false,下载失败

    * 2.空字符串||"false"。解压或者读取转string失败

    */

    //return connetall;

    }

    /**

    * 通过支付宝查询对账单接口返回的url,下载zip文件

    * @param alipay_url

    * @param down_url

    * @return

    */

    public static boolean downLoadZip(String alipay_url,String down_url) {

    boolean down_success = false;

    int bytesum = 0;

    int byteread = 0;

    Date date = new Date();

    SimpleDateFormat sf = new SimpleDateFormat("yyyy/MM/dd");

    String dateFloder = sf.format(date);

    InputStream inStream = null;

    FileOutputStream fs = null;

    try {

    URL url = new URL(alipay_url);

    URLConnection conn = url.openConnection();

    inStream = conn.getInputStream();

    //自定义文件保存地址

    String unzipFilePath = down_url.substring(0, down_url.lastIndexOf("\\"));//判断下载保存路径文件夹

    File unzipFileDir = new File(unzipFilePath);//下载文件存放地址

    if (!unzipFileDir.exists() || !unzipFileDir.isDirectory()) {

    unzipFileDir.mkdirs();

    }

    //解压文件是否已存在

    File entryFile = new File(down_url);

    if (entryFile.exists()) {

    //删除已存在的目标文件

    entryFile.delete();

    }

    fs = new FileOutputStream(down_url);

    byte[] buffer = new byte[4028];

    while ((byteread = inStream.read(buffer)) != -1) {

    bytesum += byteread;

    fs.write(buffer, 0, byteread);

    }

    down_success = true;

    System.out.println(dateFloder+"文件下载成功.....");

    } catch (Exception e) {

    System.out.println(dateFloder+"文件下载失敗" + e);

    return false;

    } finally {

    try {

    if (inStream != null) {

    inStream.close();

    }

    } catch (IOException e) {

    inStream = null;

    }

    try {

    if (fs != null) {

    fs.close();

    }

    } catch (IOException e) {

    fs = null;

    }

    }

    return down_success;

    }

    /**

    * 读取zip文件,不解压缩直接解析,支持文件名中文,解决内容乱码

    * @param file

    * @return 读取zip文件,返回字符串

    * @throws Exception

    */

    @SuppressWarnings("unchecked")

    public static String readZipToString(File file) throws Exception {

    String connet = "";

    try {

    //获得输入流,文件为zip格式,

    //支付宝提供

    //20886126836996110156_20160906.csv.zip内包含

    //20886126836996110156_20160906_业务明细.csv

    //20886126836996110156_20160906_业务明细(汇总).csv

    ZipInputStream in = new ZipInputStream(new FileInputStream(file));

    //不解压直接读取,加上gbk解决乱码问题

    BufferedReader br = new BufferedReader(new InputStreamReader(in,"gbk"));

    ZipEntry zipFile;

    //返回的字符串---每个文件内容相加

    BufferedWriter bw = null;

    //循环读取zip中的cvs文件,无法使用jdk自带,因为文件名中有中文

    while ((zipFile=in.getNextEntry())!=null) {

    if (zipFile.isDirectory()){

    //如果是目录,不处理

    }

    String file_connet = "";

    //获得cvs名字

    String fileName = zipFile.getName();

    System.out.println("-----"+fileName);

    //检测文件是否存在

    if (fileName != null && fileName.indexOf(".") != -1) {

    String line;

    /*

    * 1.每一行用 | 隔开

    * 2.每一个文件用 ; 隔开

    */

    // bw = new BufferedWriter(new FileWriter("d:\\test\\test.txt")); //测试读取内容

    while ((line = br.readLine()) != null) {

    file_connet = file_connet + "|" + line;

    // System.out.println(line);

    }

    }

    connet = connet + file_connet + ";";

    }

    // bw.write(connet);

    //关闭流

    // bw.close();

    br.close();

    in.close();

    } catch (Exception e) {

    System.out.println("zip文件读取失敗" + e);

    return "false";

    }

    return connet;

    }

    /**解压缩

    * 解压通过url获得对账单数据流(.zip)

    * @param file //zip文件存放地址

    * @return

    */

    @SuppressWarnings("unchecked")

    public static String comZipCvsFile(File file) throws Exception {

    //自定义文件保存地址

    String unzipFilePath = file.getCanonicalPath();

    unzipFilePath = unzipFilePath.substring(0, unzipFilePath.lastIndexOf("."));

    System.out.println("解压后文件保存路径:"+unzipFilePath);

    //获得输入流,文件为zip格式,

    //支付宝提供

    //20886126836996110156_20160906.csv.zip内包含

    //20886126836996110156_20160906_业务明细.csv

    //20886126836996110156_20160906_业务明细(汇总).csv

    ZipInputStream in = new ZipInputStream(new FileInputStream(file));

    ZipInputStream zin = new ZipInputStream(in);

    ZipEntry zipFile;

    BufferedOutputStream bos = null;

    try {

    zin = new ZipInputStream(new FileInputStream(file));

    while ((zipFile = zin.getNextEntry()) != null) {

    System.out.println(zipFile.getName());

    File target = new File(file.getParent(), zipFile.getName());

    if (!target.getParentFile().exists()) {

    // 创建文件父目录

    target.getParentFile().mkdirs();

    }

    //创建解压缩文件保存的路径 文件夹

    File unzipFileDir = new File(unzipFilePath);//解压文件存放地址---unzipFilePath(解压文件去吃.zip)

    if (!unzipFileDir.exists() || !unzipFileDir.isDirectory()) {

    unzipFileDir.mkdirs();

    }

    String file_Name_csv = target.getName();

    String entryFilePath = unzipFilePath + File.separator + file_Name_csv;//decom_Path(存放地址)+文件名

    //解压文件是否已存在

    File entryFile = new File(entryFilePath);

    if (entryFile.exists()) {

    //删除已存在的目标文件

    entryFile.delete();

    }

    /*

    * 写入文件

    */

    // bos = new BufferedOutputStream(new FileOutputStream(target));//解压到和zip在同一个文件夹

    bos = new BufferedOutputStream(new FileOutputStream(entryFile));//自定义文件夹

    int read = 0;

    byte[] buffer = new byte[1024 * 10];

    while ((read = zin.read(buffer, 0, buffer.length)) != -1) {

    bos.write(buffer, 0, read);

    }

    bos.flush();

    }

    //关闭流

    zin.close();

    bos.close();

    } catch (Exception e) {

    // TODO: handle exception

    System.out.println("zip文件解压失敗" + e);

    return "false";

    }

    return unzipFilePath;//返回解压文件保存路径

    }

    /**

    * 通过alipay_url获取下载的文件名称

    * @param alipay_url

    * @return

    */

    private static String getDownloadFileName(String alipay_url){

    String tempStr = alipay_url.substring(alipay_url.indexOf("downloadFileName")+17, alipay_url.length());

    tempStr = tempStr.substring(0,tempStr.indexOf(".zip"));

    return tempStr;

    }

    }

    百度网盘下载地址   http://pan.baidu.com/s/1jHRSaUU

    原文:http://www.cnblogs.com/wusx/p/7112487.html

    展开全文
  • ## **官方对账单下载****接口method : auto_bill**| 字段名 | 变量名 | 必填 | 类型 | 说明 || --- | --- | --- | --- | --- || 账单类型 |type| 是 | String | wx微信 ali支付宝 || 账单类型 |bill_type| 否 | ...

    ## **官方对账单下载**

    **接口method : auto_bill**

    | 字段名 | 变量名 | 必填 | 类型 | 说明 |

    | --- | --- | --- | --- | --- |

    | 账单类型 |type| 是 | String | wx微信 ali支付宝 |

    | 账单类型 |bill_type| 否 | String | 仅微信支持ALL(默认值),返回当日所有订单信息(不含充值退款订单)SUCCESS,返回当日成功支付的订单(不含充值退款订单)REFUND,返回当日退款订单(不含充值退款订单)RECHARGE\_REFUND,返回当日充值退款订单 |

    | 账单时间 |date| 是 | String | 类型Y-m-d 如:2019-06-21 (支付宝支持月账单查询如2019-06 微信不支持月查询) |

    | 字符串 | nonce_str | 是 | String | 随机字符串 字符范围a-zA-Z0-9 |

    ### 返回数据结果字段

    *****

    | 变量名 |是否为空 |说明 |

    | --- | --- | --- |

    | code | 否 | 100 成功其它失败 |

    | msg | 否 | 响应说明提示 |

    | data->down_url | 否 | 支付宝账单下载地址|

    | data->bill_str | 否 | 微信账单字符串|

    | data->nonce_str | 否 | 随机字符串 |

    | sign | 否 | 数据签名 |

    *****

    账单字段参考官方说明

    微信账单

    https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_6

    支付宝账单

    https://opendocs.alipay.com/apis/api_15/alipay.data.dataservice.bill.downloadurl.query

    ## 支付宝对账单请求示例

    ```

    {

    "appid":"3315919327",

    "method":"auto_bill",

    "data":{

    "type":"ali",

    "date":"2020-09-18",

    "nonce_str":"5d109dea9a213"

    },

    "sign":"EA3DE21748BD27D7CBB5114114A783DD"

    }

    ```

    ## 支付宝对账单返回示例

    ```

    {

    "code": 100,

    "msg": "success",

    "data": {

    "down_url": "http://dwbillcenter.alipay.com/downloadBillFile.resource?bizType=trade&userId=xxxxxxxx&fileType=csv.zip&bizDates=20200918&downloadFileName=xxxxxxx_20200918.csv.zip&fileId=%2Ftrade%2F208xxxxx%2F20200918.csv.zip&timestamp=1601365274&token=2deafc45813b0df507ce20934dd3cb04",

    "nonce_str": "Face5f72e51a59560"

    },

    "sign": "C2EB626BA11BF7FDE637EAD62F27B56A"

    }

    ```

    ## 微信对账单请求示例

    ```

    {

    "appid":"3315919327",

    "method":"auto_bill",

    "data":{

    "type":"wx",

    "date":"2020-09-18",

    "nonce_str":"5d109dea9a213"

    },

    "sign":"B96767159052686052632359AA3742B5"

    }

    ```

    ## 微信对账单返回示例

    ```

    {

    "code": 100,

    "msg": "success",

    "data": {

    "bill_str": "交易时间,公众账号ID,商户号,特约商户号,设备号,微信订单号,商户订单号,用户标识,交易类型,交易状态,付款银行,货币种类,应结订单金额,代金券金额,微信退款单号,商户退款单号,退款金额,充值券退款金额,退款类型,退款状态,商品名称,商户数据包,手续费,费率,订单金额,申请退款金额,费率备注\r\n`2020-09-18 15:43:13,`wx06f12a6363602fd1,`1493440642,`1541612021,`,`4200000679202009181188359443,`M200918385375657079909,`oCWZP5XZbvgs0rn0stdxuZxiIo-E,`JSAPI,`SUCCESS,`OTHERS,`CNY,`1.20,`0.00,`0,`0,`0.00,`0.00,`,`,`商家收款(订单金额1.20元、优惠金额0.00元),`,`0.00000,`0.38%,`1.20,`0.00,`\r\n`2020-09-18 15:41:15,`wx06f12a6363602fd1,`1493440642,`1541612021,`,`4200000695202009182929923915,`M200918385025646498606,`oCWZP5XZbvgs0rn0stdxuZxiIo-E,`JSAPI,`SUCCESS,`OTHERS,`CNY,`1.00,`0.00,`0,`0,`0.00,`0.00,`,`,`商家收款(订单金额1.00元、优惠金额0.00元),`,`0.00000,`0.38%,`1.00,`0.00,`\r\n`2020-09-18 17:40:32,`wx06f12a6363602fd1,`1493440642,`1541612021,`,`4200000696202009185646367038,`M200918388296362320674,`oCWZP5XZbvgs0rn0stdxuZxiIo-E,`JSAPI,`SUCCESS,`OTHERS,`CNY,`0.50,`0.00,`0,`0,`0.00,`0.00,`,`,`商家收款(订单金额0.50元、优惠金额0.00元),`,`0.00000,`0.38%,`0.50,`0.00,`\r\n`2020-09-18 17:43:21,`wx06f12a6363602fd1,`1493440642,`1541612021,`,`4200000698202009180805581013,`M200918380426379194753,`oCWZP5XZbvgs0rn0stdxuZxiIo-E,`JSAPI,`SUCCESS,`OTHERS,`CNY,`0.60,`0.00,`0,`0,`0.00,`0.00,`,`,`商家收款(订单金额0.60元、优惠金额0.00元),`,`0.00000,`0.38%,`0.60,`0.00,`\r\n总交易单数,应结订单总金额,退款总金额,充值券退款总金额,手续费总金额,订单总金额,申请退款总金额\r\n`4,`3.30,`0.00,`0.00,`0.00000,`3.30,`0.00\r\n",

    "nonce_str": "Face5f72e69d884eb"

    },

    "sign": "B24152CE0C0C01CEA60428A091F43AEE"

    }

    ```

    展开全文
  • 再将支付数据与淘宝数据的差异与“三方对账支付差异核对”文件比对。 二、数据源: 1.支付数据格式如下图:文本为CSV格式 2.淘宝数据有三份数据,分别为:国际、国内、改签订单,文本为CSV格式,数据格式如下:...
  • 特色功能:1、软件内置所有银行的模板,直接打印,无须上网下载模板。2、首次打印只须设置打印机偏差,设好后即可直接精确打印任一票据,不必每一个票据都去调整格式了。3、票据打印后对方单位信息自动保存到往来...
  • 14-2-17仓储费申请结算.pdf
  • 本次主要是使用vue+element UI来完成对账单功能的实现,需求是当前时间及之前一天不可点击,大于当前日期置灰不可点击。 模板简陋敬请谅解 … 先上效果图 vue 页面布局方便数据渲染 <template> <div ...
  • 2.2.1 对账单模板配置 2.2.2 对账单下载任务 2.2.3 对账单导入 2.2.4 对账批次 2.2.5 存疑订单管理 2.2.6 差错订单管理 2.2.7 差错订单审批 2.3 系统权限 34 2.4 附录 2.4.1 差错订单状态生命周期 2.4.2 邮件通知

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,399
精华内容 559
关键字:

对账单模板

友情链接: Wris.rar