/** 单品列表类型 */ interface DetailGoodDetail { /** * 商户侧商品编码 * @description 由半角的大小写字母、数字、中划线、下划线中的一种或几种组成。 * @exports 商品编码 */ merchant_goods_id: string; /** * 商品数量 * @description 用户购买的数量 * @example 1 */ quantity: number; /** * 商品单价 * @description 商品单价,单位为分 * @example 828800 */ unit_price: number; /** * 微信侧商品编码 * @description 微信支付定义的统一商品编号(没有可不传) * @example 1001 */ wechatpay_goods_id?: string; /** * 商品名称 * @description 商品的实际名称 * @example iPhoneX 256G */ goods_name?: string; } /** 优惠功能类型 */ interface Detail { /** * 订单原价 * @description 1、商户侧一张小票订单可能被分多次支付,订单原价用于记录整张小票的交易金额。 * @description 2、当订单原价与支付金额不相等,则不享受优惠。 * @description 3、该字段主要用于防止同一张小票分多次支付,以享受多次优惠的情况,正常支付订单不必上传此参数。 * @example 608800 */ cost_price?: number; /** * 商家小票ID * @example 微信123 */ invoice_id?: number; /** * 单品列表 * @description 条目个数限制:1-6000 */ goods_detail?: DetailGoodDetail[]; } /** 商户门店信息类型 */ interface SceneInfoStoreInfo { /** * 门店编号 * @description 商户侧门店编号 * @example 0001 */ id: string; /** * 门店名称 * @description 商户侧门店名称 * @example 腾讯大厦分店 */ name?: string; /** * 地区编码 * @see https://pay.weixin.qq.com/wiki/doc/apiv3/terms_definition/chapter1_1_3.shtml#part-5 * @example 440305 */ area_code?: string; /** * 详细地址 * @description 详细的商户门店地址 * @example 广东省深圳市南山区科技中一道10000号 */ address?: string; } /** 支付场景描述 */ interface SceneInfo { /** * 用户终端IP * @description 用户的客户端IP,支持IPv4和IPv6两种格式的IP地址。 * @example 14.23.150.211 */ payer_client_ip: string; /** * 商户端设备号 * @description 商户端设备号(门店号或收银设备ID) * @example 013467007045764 */ device_id?: string; /** 商户门店信息 */ store_info?: SceneInfoStoreInfo; } /** JSAPI 统一下单请求参数 */ export interface PlaceOrderJSAPIParams { /** * 商品描述 * @example Image形象店-深圳腾大-QQ公仔 */ description: string; /** * 商户订单号 * @description 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一 * @example 1217752501201407033233368018 */ out_trade_no: string; /** * 通知地址 * @description 通知URL必须为直接可访问的URL,不允许携带查询串,要求必须为https地址。 * @exports https://www.weixin.qq.com/wxpay/pay.php */ notify_url: string; /** 订单金额信息 */ amount: { /** * 总金额 * @description 订单总金额,单位为分。 * @example 100 */ total: number; /** * 货币类型 * @description 境内商户号仅支持人民币。 * @example CNY */ currency?: string | 'CNY'; }; /** * 支付者 * @description 支付者信息 */ payer: { /** * 用户在服务商appid下的唯一标识 * @description 下单前需获取到用户的Openid * @example oUpF8uMuAJO_M2pxb1Q9zNjWeS6o */ sp_openid?: string; /** * 用户在子商户appid下的唯一标识 * @description 若传`sub_openid`,那`sub_appid`必填。下单前需获取到用户的Openid * @example oUpF8uMuAJO_M2pxb1Q9zNjWeS6o */ sub_openid?: string; }; /** 交易结束时间 */ time_expire?: Date; /** * 附加数据 * @description 附加数据,在查询API和支付通知中原样返回,可作为自定义参数使用 */ attach?: string; /** * 订单优惠标记 * @example WXG */ goods_tag?: string; /** 优惠功能 */ detail?: Detail; /** * 场景信息 * @description 支付场景描述 */ scene_info?: SceneInfo; /** 结算信息 */ settle_info?: { /** * 是否指定分账 * @example false */ profit_sharing?: boolean; }; } export {};