123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- <?php
- // 直接支付 工行e企付支付申请-同步支付
- include_once '../DefaultIcbcClient.php';
- include_once '../IcbcConstants.php';
- $request = array(
- "serviceUrl" => 'https://apipcs3.dccnet.com.cn/api/mybank/pay/cpay/cppayapply/V2',
- "method" => 'POST',
- "isNeedEncrypt" => false,
- "biz_content" => array(
- "agreeCode" => "0160200238060410006041000000001490", // 合作方协议编号
- "partnerSeq" => "20121557354523885519", // 交易流水号
- "payChannel" => "1", // 渠道类型;1-PC端 2-移动端
- "internationalFlag" => "1", // 境内外标志 1-境内 2-境外
- "payMode" => "1", // 直接支付
- // "reservDirect" => "1", // 保留支付时上送(纯票据保留时无需上送),1-付方保留,2-收方保留(收方保留时,收款账号仅支持工行往来户),境内外币只支持付方保留
- // "operType" => "", // 操作类型
- "payEntitys" => "1001", // 1000第一位1代表现金第二位1代表票据
- "asynFlag" => "0", // 0代表同步支付 1:代表异步支付
- // "logonId"=>"001",//企网登录ID 当异步支付需要指定提交人时才上送(预留字段,本期暂不支持)
- // "payerAccno" => "1202027209100017281", // 付款人账号 异步支付、安心账户退款时必须送账号;保证支付, 如果是采用平台方验证,必须上送付方保证金主账号;其他场景如果送,则为指定账号支付。
- // "payerAccname" => "埋赏冒了神饥祺铜搭洪坏检苹职悟", // 付款人户名 付款人账号输入,付款人户名必须同时输入。付款人户名可单独输入,单独输入时,开启户名校验。
- // "payerFeeAccno"=>"",//付方付费账号 境外支付时上送。上送时,则取该账号付手续费;若不上送,则取付方账号付手续费。付方付费账号、付方付费账号户名、付方付费账号币种同时上送或者都不上送.
- // "payerFeeAccName"=>"",//付方付费账号户名
- // "payerFeeCurr"=>"",//付方付费账号币种
- "payMemno" => "160290000612012", // 客户编号
- // "orgcode" =>"",//付款人组织机构代码 境内外币、境外必须上送。统一社会信用证的第九-十七位。
- "orderCode" => "207802999501", // 订单号
- "orderAmount" => "20", // 订单金额 单位分 仅用于展现,本次应支持金额以sumPayamt为准
- "orderCurr" => "001", // 币种 001人民币
- "sumPayamt" => "20", // 订单汇总金额 单位分
- // "orderRemark" => "测试", // 订单备注 当需要打印在回单信息中时上送
- // "rceiptRemark" => "测试", // 回单补充信息备注 当需要打印在回单信息中时上送
- // "purpose" => "", // 用途 当需要打印在回单信息中时上送
- // "summary" => "", // 摘要 当需要打印在回单信息中时上送
- "submitTime" => "20220321084307", // 提交时间
- "returnUrl" => "", // 支付成功后跳转连接
- "callbackUrl" => "https://gyj1.dccnet.com.cn/epay/NotifyUrlServlet.php", // 回调通知地址
- // "agreementId"=>"",//合同号 境内外币必须上送,境外支付时上送,三单号不能都上送为空, Ascii字符集,不能有中文和全角字符
- // "invoiceId"=>"",//发票号 境外支付时上送,境内外币必须上送,Ascii字符集,不能有中文和全角字符
- // "manifestId"=>"",//报关单号 境外支付时上送
- // "agreementImageId"=>"",//影像批次号 境内外币必须上送,境外支付时上送
- // "enterpriseName"=>"",//付款方企业名称 境内外币支付时上送,保证支付、担保支付时上送付款人会员名称
- // "payRemark"=>"",//支付信息备注
- // "bakReserve1"=>"",//境外交易特殊标志 网金部e链通专用,境外交易特殊标志。
- // "bakReserve2"=>"",//备用字段2
- // "bakReserve3"=>"",//备用字段3
- // "partnerSeqOrigin"=>"201212221215202104",//原合作方支付流水号(待启用,退款时使用)
- // "sumPayamtOrigin"=>"",//原汇总支付金额(备用字段) 待启用
- // "reporterName"=>"",//填报人
- // "reporterContact"=>"",//填报人电话
- // "identityMode"=>"",//认证模式 1-免认证,0或空-其他;仅退款时使用,安心账户退款时必须上送1。使用免认证退款前需与工行签订相关协议,具体咨询客户经理。
- // "payerPhone" => "", // 付款人手机号 11位手机号,线下异步支付时上送、线下异步支付:将收方信息推送给付款人手机号,付款人通过网银、柜面等渠道支付后自动关联订单为成功。使用线下异步支付前需与工行签订相关协议,具体咨询客户经理。
- // "payerWalletId"=>"",//付款人钱包ID 待启用 数字人名币专用
- // "payerWalletName"=>"",//付款人钱包名称 待启用 数字人名币专用
- // "batchNo"=>"",//批次号 批量支付必送。
- // "repetCard"=>"",//财智卡重用标志 财智卡重用模式下使用,重用模式1,其他模式0
- "goodsList" => array(
- array(
- "goodsSubId" => "0968", // 商品信息子序号
- "goodsName" => "测试商品", // 商品名称
- "payeeCompanyName" => "饮豆另增古技号午娇缝乓忘嘴易", // 收款人户名
- "goodsNumber" => "1", // 商品数量
- "goodsUnit" => "个", // 商品单位
- "goodsAmt" => "10" // 商品金额 单位分
- ),
- array(
- "goodsSubId" => "0967", // 商品信息子序号
- "goodsName" => "测试商品2", // 商品名称
- "payeeCompanyName" => "饮豆另增古技号午娇缝乓忘嘴易", // 收款人户名
- "goodsNumber" => "1", // 商品数量
- "goodsUnit" => "个", // 商品单位
- "goodsAmt" => "10" // 商品金额 单位分
- )
- ),
- "payeeList" => array(
- array(
- "mallCode" => "1602001009005410261", // 收方商户号 支付时必输,退款时非必输
- // "mccCode" => "", // 商户类别(MCC码)
- // "mccName" => "", // MCC码名称
- // "businessLicense" => "", // 商户证件编号
- // "businessLicenseType" => "", // 商户证件类型
- "mallName" => "test", // 担保支付、保证支付上送收方会员名称
- "payeeCompanyName" => "氮油货(饮豆)车巫褪辛乓忘嘴易", // 收款人户名
- "payeeSysflag" => "1", // 境内外标志 1:境内工行,2:境内他行,3:境外
- // "payeeBankCode" => "", // 收方行联行号 当收方为境内他行(payeeSysflag = 2)时上送,退款时不用上送。联行行号请合作方自行查询或联系客户经理。
- // "payeeHeadBankCode" => "", // 收方行总行行号 暂未启用
- "payeeAccno" => "1202020409900065243", // 收款人账号 担保支付、保证支付时上送会员号绑定的结算账号
- "payAmount" => "20" // 收款金额(单位:分)
- // "rbankname" => "", // 收款行全称 当收方为境外时必须上送
- // "payeeBankCountry" => "", // 收款行所在国家地区代码 当收方为境外时必须上送
- // "payeeBankSign" => "", // 收款行标识 当收方为境外时必须上送
- // "payeeCountry" => "", // 收款人常驻国家/地区 当收方为境外时必须上送
- // "payeeAddress" => "", // 收款人地址 境外非加拿大时必须上送
- // "racaddress1" => "", // 收款人地址(国家) 境外加拿大时必须上送
- // "racaddress2" => "", // 收款人地址(省/州) 加拿大地区必输
- // "racaddress3" => "", // 收款人地址(城市/城镇) 加拿大地区必输
- // "racaddress4" => "", // 收款人地址(街/路) 加拿大地区必输
- // "racpostcode" => "", // 收款人地址(邮编) 加拿大地区必输
- // "agentbic" => "", // 收款行之代理行BIC码(境外支付才上送)
- // "payeePhone" => "", // 收款人手机号
- // "payeeOrgcode" => "", // 收款人组织机构代码 境内外币必须上送
- // "receivableAmount" => "", // 应收金额(单位:分) 担保支付专用,指本订单orderCode收方应收金额。
- // "payeeWalletId" => "", // 收款人钱包ID 支持数字人民币支付时上送
- // "payeeWalletName" => "" // 收款人钱包名称 支持数字人民币支付时上送
- )
- )
- )
- );
- $appId = "10000000000000225069";
- $privateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDPUsAxVOs46x7u
- mfJDcw98UfPhD+/ZoFcJs4WqhoqWeLbSNHDOTFc+7r5qsWoTPiuaJdcxQbIF0bOT
- lvIXXFNivTZy35aAQUpzILsPIVd0+Z+pCR2mosZkl8qhRk+5mGtc3OlzGvkGGnxx
- O2fKxtwIRdEUaAnqg/k+8kSN3k8p9sXbJD9+r3imIvkswuGTEoEk0ARg3YSmlSTT
- P0UqksT5/MQN3rZYDlE0baPCB2pKcTDncsNhvgwjGmI7fMyBB1tV0jGfaGq1IcGy
- fY5WUcIaiveYUq5Gta6+9J/B333hztCCWdtbM+YoI4UpMcV5B1056P3X1hPRbCri
- Id5uI4sXAgMBAAECggEAdluBiSg3mSjxYbnVSphXUNvgZK4aeZ1F0y3/sxhX6gtE
- I8D4XW3LqQvW/UYHjrDBZ6EOtvoQTa4n3KwhzSBSIl5uxSnL27BqdktLPxoDua4A
- bhncKZNnu2nErklbnlLbiAo95A6T994LCQGnAWaBmt9wuzuh3ZY2Jq9cX7l4bDWD
- 3OaKLER56n8KgMM0hyUffm2+ediCVy0CfL/50gscWLQKrDx52uohtgORw4OiAzx/
- YwgnnvSAgXQK21ChDcN5GQA5hZOeFMRY0vshSiA6/Zz8GvHfa4u/fEWVpZhsJrow
- 97Fk3he8NHc9M6mLIxKeGFLknpkNHgDZXqCD5vvVwQKBgQDauoRR8EAjU+jjZDUi
- 5qyPXSUELthqMbn4oHT33pgjSvQgoLfMtn95FHgFZJjEZfAnKgNSjFddPqB6vy0d
- PLXRSyqG0b+ap+f2e2kuNnbngijCO9WWDdpU1k7e/Lvo5Ohgz0ODAxRqrst+QqmW
- 5C6nt+g0Il4ctdoUQ3oBeWTc8QKBgQDyprRvGqThXSsJ64wpiPUKieZ+562FFwZE
- pBU1Sy3PS9EfroQa2/NlL5eiLPOOpmY5tUhIyNZzL7YE4n+iI/pZFpC23+gz4Qjt
- sQnBGXQn+D7H181B119jUt/mYZwM3zAy9DJal4+q52LvmluT95/eTyhYD46vEGr3
- 0axSGcOIhwKBgDRx+Hw1IQvXeMXdJyiBKusNKG0CVn3QAols3973Dn+X30Vbg/af
- 45zCnaydXEvrLVQWrMlEQUZoV85WvJiAEBBo939wF4Mbs3DUUnn0MTp9aQx5kFL0
- a19gK3UoIF5NVLKxv7xQJrsVwlE55rP5bn5kiFbHzs0PhYTKURy9YMPhAoGAVkeO
- at8Xd4bQUeOuX+px7wBftAoe+e7Y7LlHTT7hGA+GWXSNRpuk7PrCOQkwxS1HtgdO
- n4rCLgzt9Miwx29xihHq/Quani/LI/FKXZ32Xmv3rsl+E4ZIRaHnORzGBxGpKsUH
- zoyLqiJCXJ4PKArpjnupBb7qZjc5QcsNMdg1XasCgYEAv6SkwgcRCVliGtphJVxg
- xODkI+YOufnDGpD5OGECY0/O5FQ8u4PzvQ5FuOBElJzpbKmDqKqMX2UsgpvPzyT2
- 2JtW0Xpo/UiApIyuUuF5CxIvxfsD3VSjC7MrmqBCEU/iRdQv11alFRg4KOXZXst6
- oclGtrgSiI3n3kJ2Xy3oO38=";
- $icbcPublicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwFgHD4kzEVPdOj03ctKM7KV+16bWZ5BMNgvEeuEQwfQYkRVwI9HFOGkwNTMn5hiJXHnlXYCX+zp5r6R52MY0O7BsTCLT7aHaxsANsvI9ABGx3OaTVlPB59M6GPbJh0uXvio0m1r/lTW3Z60RU6Q3oid/rNhP3CiNgg0W6O3AGqwIDAQAB";
- // 以下构造函数第1个参数为appid,第2个参数为RSA密钥对中私钥,第6个参数为API平台网关公钥
- $client = new DefaultIcbcClient($appId, $privateKey, IcbcConstants::$SIGN_TYPE_RSA2, '', '', $icbcPublicKey, '', '', '', '');
- $resp = $client->execute($request, '2022020715103429955', ''); // 执行调用;msgId消息通讯唯一编号,要求每次调用独立生成,APP级唯一
- echo $resp;
- $respObj = json_decode($resp, true);
- if ($respObj["return_code"] == 0) { // sucess
- $url = 'location:' . $respObj["redirectParam"];
- header($url); // 跳转支付页面
- } else { // fail
- echo $respObj["return_msg"];
- }
- // 正常返回示例:{"transOk":0,"orderCurr":"001","payMode":1,"return_msg":"","sumPayamt":"20","agreeName":"测试1121","serialNo":"","agreeCode":"0160200010060410006041000000000881","orderAmount":"20","redirectParam":"https://cpay3.dccnet.com.cn/corporpay/servlet/ICBCCPayBusinessServlet?unique_serialno=2022022508485493300000000001723002&signstr=8792F12FE32CCB3312A40477854BD4DC25ED8C51D8405A7FF784B98A9ABA7B1FD5CEBBF7FCE625D2","partnerSeq":"201212221215202102","return_code":0,"status":1}
- ?>
|