Skip to content

Commit

Permalink
CheckCode, CheckValue
Browse files Browse the repository at this point in the history
  • Loading branch information
recca0120 committed Nov 10, 2023
1 parent 062b20f commit 1663ad7
Showing 1 changed file with 36 additions and 1 deletion.
37 changes: 36 additions & 1 deletion tests/EncryptorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public function testEncrypt(): void
);
}

public function testDecrypt()
public function testDecrypt(): void
{
$responseText = 'Status=SUCCESS&MerchantID=MS127874575&Version=2.0&TradeInfo=ee11d1501e6dc8433c75988258f2343d11f4d0a423be672e8e02aaf373c53c2363aeffdb4992579693277359b3e449ebe644d2075fdfbc10150b1c40e7d24cb215febefdb85b16a5cde449f6b06c58a5510d31e8d34c95284d459ae4b52afc1509c2800976a5c0b99ef24cfd28a2dfc8004215a0c98a1d3c77707773c2f2132f9a9a4ce3475cb888c2ad372485971876f8e2fec0589927544c3463d30c785c2d3bd947c06c8c33cf43e131f57939e1f7e3b3d8c3f08a84f34ef1a67a08efe177f1e663ecc6bedc7f82640a1ced807b548633cfa72d060864271ec79854ee2f5a170aa902000e7c61d1269165de330fce7d10663d1668c711571776365bfdcd7ddc915dcb90d31a9f27af9b79a443ca8302e508b0dbaac817d44cfc44247ae613075dde4ac960f1bdff4173b915e4344bc4567bd32e86be7d796e6d9b9cf20476e4996e98ccc315f1ed03a34139f936797d971f2a3f90bc18f8a155a290bcbcf04f4277171c305bf554f5cba243154b30082748a81f2e5aa432ef9950cc9668cd4330ef7c37537a6dcb5e6ef01b4eca9705e4b097cf6913ee96e81d0389e5f775&TradeSha=C80876AEBAC0036268C0E240E5BFF69C0470DE9606EEE083C5C8DD64FDB3347A';

Expand All @@ -45,6 +45,41 @@ public function testDecrypt()
);
}

public function testCheckCode(): void
{
$check_code = [
"MerchantID" => 'MS12345678',
"Amt" => '10',
"MerchantOrderNo" => 'MyCompanyOrder_1638423361',
"TradeNo" => '21120214151152468',
];
ksort($check_code);
$check_str = http_build_query($check_code);
$CheckCode = "HashIV=".$this->iv."&$check_str&HashKey=".$this->key;

self::assertEquals(
'0D50996224E46B436D182F37AB4300740BDD57375D8E8202B3E8F5E97068DE81',
strtoupper(hash("sha256", $CheckCode))
);
}

public function testCheckValue()
{
$check_code = [
"MerchantID" => 'MS12345678',
"Amt" => '10',
"MerchantOrderNo" => 'MyCompanyOrder_1638423361',
];
ksort($check_code);
$check_str = http_build_query($check_code);
$CheckCode = "HashIV=".$this->iv."&$check_str&HashKey=".$this->key;

self::assertEquals(
'270E971A614C3141FB20E62AFBA3244F19512DB462062B365D15CB6AC8DBCFE9',
strtoupper(hash("sha256", $CheckCode))
);
}


/**
* @return Encryptor
Expand Down

0 comments on commit 1663ad7

Please sign in to comment.