Browse Source

子订单即为分账明细

ccb_pay2
yangrz 4 years ago
parent
commit
59eee994ff
  1. 17
      app/Service/v3/CCBPayment.php
  2. 1
      config/config.php
  3. 105
      test/Cases/CCBTest.php

17
app/Service/v3/CCBPayment.php

@ -305,24 +305,11 @@ class CCBPayment
* @param string $Cmdty_Ordr_No 子订单编号
* @param string $Ordr_Amt 订单金额
* @param string $Txnamt 实付金额
* @param string $Clrg_Rule_Id 分账规则编号
* @param array $Parlist 分账参与方列表
* @return string[]
*/
public function subOrderListItem(string $Mkt_Mrch_Id, string $Cmdty_Ordr_No, string $Ordr_Amt, string $Txnamt, string $Clrg_Rule_Id, array $Parlist)
public function subOrderListItem(string $Mkt_Mrch_Id, string $Cmdty_Ordr_No, string $Ordr_Amt, string $Txnamt)
{
return compact('Mkt_Mrch_Id', 'Cmdty_Ordr_No', 'Ordr_Amt', 'Txnamt', 'Clrg_Rule_Id', 'Parlist');
}
/**
* 分账参与方
* @param int $Seq_No 顺序号
* @param string $Mkt_Mrch_Id 商家编号
* @return array
*/
public function parListItem(int $Seq_No, string $Mkt_Mrch_Id)
{
return compact('Seq_No', 'Mkt_Mrch_Id');
return compact('Mkt_Mrch_Id', 'Cmdty_Ordr_No', 'Ordr_Amt', 'Txnamt');
}
/**

1
config/config.php

@ -67,6 +67,7 @@ return [
'ccb' => [
'debug' => env('CCB_DEBUG', false),
'mkt_id' => env('CCB_MKT_ID', ''),
'self_profit_ratio' => env('CCB_SELF_PROFIT_RATIO', 0),
'self_private_key' => env('CCB_SELF_PRIVATE_KEY', ''),
'bank_public_key' => env('CCB_BANK_PUBLIC_KEY', ''),
],

105
test/Cases/CCBTest.php

@ -8,66 +8,61 @@ use HyperfTest\HttpTestCase;
class CCBTest extends HttpTestCase
{
public function testSign()
{
$ccb = ApplicationContext::getContainer()->get(CCBPayment::class);
$data = "Write Once, Run Anywhere";
$result = $ccb->sign($data);
$s = 'odUeD1V6obC/j8lUvmFwn6LSQ2DrvaDEin5DKs0FiB/HttboPJncmLisH22Y1grPezE0a+Ij6cdd5Taof8e4A76pKdXA+hDGz0nPMlCRgSF5tHQ6uVXktL/3lqpVTX6ECjRoHmzmo6cAMqVXYQKEl56r4gJcBPW4X4ghRtTgw9AK8+8b8O5EAqxuPxMyhSOYrCsUYRXapezV3uioEReYjvhg/u+kRf662P2nL0ab3szGMXMAoE+JjgMAHR9WCL3Can/5ADgoFff/7kMSxrA7/r94EfkDN50IvRVAx9WBLx3+WWcRRfM6JcqZ91B+g00wYN/OSZHTJDPgV6Ofd5cBpA==';
$this->assertTrue($result == $s);
}
public function testCreateSign()
{
$ccb = ApplicationContext::getContainer()->get(CCBPayment::class);
$params = json_decode('{"Blank3":" ","Blank2":"","Sign_Inf":"signInf","Rsp_Inf":"rspInf","Svc_Rsp_St":"svcRspSt","Svc_Rsp_Cd":"svcRspCd","Amt":"amt","Pymd_Cd":"pymdCd","Parlist":[{"Seq_No":"seqNo","Mkt_Mrch_Id":"mktMrchIdFj"},{"Seq_No":"seqNo","Xbb":[{"sdc":"1131","xyz":"xxxx"}],"Mkt_Mrch_Id":"mktMrchIdFj2"},{"Seq_No":"seqNo3","Mkt_Mrch_Id":"mktMrchIdFj3"}]}', true);
$str = $ccb->createSign($params);
$s = 'Amt=amt&Mkt_Mrch_Id=mktMrchIdFj&Seq_No=seqNo&Mkt_Mrch_Id=mktMrchIdFj2&Seq_No=seqNo&sdc=1131&xyz=xxxx&Mkt_Mrch_Id=mktMrchIdFj3&Seq_No=seqNo3&Pymd_Cd=pymdCd';
$this->assertTrue($str == $s);
}
// public function testSign()
// {
// $ccb = ApplicationContext::getContainer()->get(CCBPayment::class);
//
// $data = "Write Once, Run Anywhere";
//
// $result = $ccb->sign($data);
//
// $s = 'odUeD1V6obC/j8lUvmFwn6LSQ2DrvaDEin5DKs0FiB/HttboPJncmLisH22Y1grPezE0a+Ij6cdd5Taof8e4A76pKdXA+hDGz0nPMlCRgSF5tHQ6uVXktL/3lqpVTX6ECjRoHmzmo6cAMqVXYQKEl56r4gJcBPW4X4ghRtTgw9AK8+8b8O5EAqxuPxMyhSOYrCsUYRXapezV3uioEReYjvhg/u+kRf662P2nL0ab3szGMXMAoE+JjgMAHR9WCL3Can/5ADgoFff/7kMSxrA7/r94EfkDN50IvRVAx9WBLx3+WWcRRfM6JcqZ91B+g00wYN/OSZHTJDPgV6Ofd5cBpA==';
//
// $this->assertTrue($result == $s);
// }
//
// public function testCreateSign()
// {
// $ccb = ApplicationContext::getContainer()->get(CCBPayment::class);
//
// $params = json_decode('{"Blank3":" ","Blank2":"","Sign_Inf":"signInf","Rsp_Inf":"rspInf","Svc_Rsp_St":"svcRspSt","Svc_Rsp_Cd":"svcRspCd","Amt":"amt","Pymd_Cd":"pymdCd","Parlist":[{"Seq_No":"seqNo","Mkt_Mrch_Id":"mktMrchIdFj"},{"Seq_No":"seqNo","Xbb":[{"sdc":"1131","xyz":"xxxx"}],"Mkt_Mrch_Id":"mktMrchIdFj2"},{"Seq_No":"seqNo3","Mkt_Mrch_Id":"mktMrchIdFj3"}]}', true);
//
// $str = $ccb->createSign($params);
//
// $s = 'Amt=amt&Mkt_Mrch_Id=mktMrchIdFj&Seq_No=seqNo&Mkt_Mrch_Id=mktMrchIdFj2&Seq_No=seqNo&sdc=1131&xyz=xxxx&Mkt_Mrch_Id=mktMrchIdFj3&Seq_No=seqNo3&Pymd_Cd=pymdCd';
//
// $this->assertTrue($str == $s);
// }
public function testOrder()
{
$ccb = ApplicationContext::getContainer()->get(CCBPayment::class);
$parList = [];
$parList[] = $ccb->parListItem(1, '41060860800469000000');
$parList[] = $ccb->parListItem(2, '41060860800469061877');
$subOrderList[] = $ccb->subOrderListItem(
'41060860800469000000',
'151197',
'0.50',
'0.50'
);
$subOrderList[] = $ccb->subOrderListItem(
'41060860800469061877',
'151152',
'1.23',
'1.23',
'F410608608004691879',
$parList
'151197',
'1.02',
'1.02'
);
$parList = [];
$parList[] = $ccb->parListItem(1, '41060860800469000000');
$parList[] = $ccb->parListItem(2, '41060860800469061878');
$subOrderList[] = $ccb->subOrderListItem(
'41060860800469061878',
'151153',
'1.00',
'1.00',
'F410608608004691879',
$parList
);
'41060860800469061878',
'151198',
'2.30',
'2.30'
);
$result = $ccb->gatherPlaceorder(
'c2020060915410278957',
'2.23',
'2.23',
'm2020060915410278991',
'3.82',
'3.82',
'03',
'',
'',
@ -77,12 +72,12 @@ class CCBTest extends HttpTestCase
var_export($result);
}
public function testQuery()
{
$ccb = ApplicationContext::getContainer()->get(CCBPayment::class);
$result = $ccb->gatherEnquireOrder('c2020060915410278956');
var_dump($result);
}
// public function testQuery()
// {
// $ccb = ApplicationContext::getContainer()->get(CCBPayment::class);
//
// $result = $ccb->gatherEnquireOrder('c2020060915410278956');
//
// var_dump($result);
// }
}
Loading…
Cancel
Save