/
home
/
techb158
/
ileadtechnology.com
/
SSM
/
vendor
/
stripe
/
stripe-php
/
lib
/
/home/techb158/ileadtechnology.com/SSM/vendor/stripe/stripe-php/lib
mkdir
upload
Name
Size
Mode
Actions
ApiOperations/
-
0755
rm
BillingPortal/
-
0755
rm
Checkout/
-
0755
rm
Exception/
-
0755
rm
HttpClient/
-
0755
rm
Issuing/
-
0755
rm
Radar/
-
0755
rm
Reporting/
-
0755
rm
Sigma/
-
0755
rm
Terminal/
-
0755
rm
Util/
-
0755
rm
Account.php
16166
0644
edit
dl
rm
AccountLink.php
789
0644
edit
dl
rm
AlipayAccount.php
2386
0644
edit
dl
rm
ApiRequestor.php
14711
0644
edit
dl
rm
ApiResource.php
3448
0644
edit
dl
rm
ApiResponse.php
712
0644
edit
dl
rm
ApplePayDomain.php
975
0644
edit
dl
rm
ApplicationFee.php
4162
0644
edit
dl
rm
ApplicationFeeRefund.php
2406
0644
edit
dl
rm
Balance.php
2173
0644
edit
dl
rm
BalanceTransaction.php
5375
0644
edit
dl
rm
BankAccount.php
6797
0644
edit
dl
rm
BitcoinReceiver.php
4138
0644
edit
dl
rm
BitcoinTransaction.php
844
0644
edit
dl
rm
Capability.php
2898
0644
edit
dl
rm
Card.php
7813
0644
edit
dl
rm
Charge.php
12222
0644
edit
dl
rm
Collection.php
7165
0644
edit
dl
rm
CountrySpec.php
1743
0644
edit
dl
rm
Coupon.php
2841
0644
edit
dl
rm
CreditNote.php
5595
0644
edit
dl
rm
CreditNoteLineItem.php
1770
0644
edit
dl
rm
Customer.php
12581
0644
edit
dl
rm
CustomerBalanceTransaction.php
5244
0644
edit
dl
rm
Discount.php
298
0644
edit
dl
rm
Dispute.php
5103
0644
edit
dl
rm
EphemeralKey.php
1545
0644
edit
dl
rm
ErrorObject.php
8661
0644
edit
dl
rm
Event.php
11700
0644
edit
dl
rm
ExchangeRate.php
1405
0644
edit
dl
rm
File.php
3115
0644
edit
dl
rm
FileLink.php
1394
0644
edit
dl
rm
Invoice.php
18452
0644
edit
dl
rm
InvoiceItem.php
3556
0644
edit
dl
rm
InvoiceLineItem.php
2593
0644
edit
dl
rm
LoginLink.php
385
0644
edit
dl
rm
Mandate.php
1063
0644
edit
dl
rm
OAuth.php
3393
0644
edit
dl
rm
OAuthErrorObject.php
861
0644
edit
dl
rm
Order.php
5127
0644
edit
dl
rm
OrderItem.php
333
0644
edit
dl
rm
OrderReturn.php
1648
0644
edit
dl
rm
PaymentIntent.php
10945
0644
edit
dl
rm
PaymentMethod.php
3082
0644
edit
dl
rm
Payout.php
5949
0644
edit
dl
rm
Person.php
4489
0644
edit
dl
rm
Plan.php
4883
0644
edit
dl
rm
Product.php
3976
0644
edit
dl
rm
Recipient.php
2841
0644
edit
dl
rm
RecipientTransfer.php
918
0644
edit
dl
rm
Refund.php
4042
0644
edit
dl
rm
RequestTelemetry.php
539
0644
edit
dl
rm
Review.php
3330
0644
edit
dl
rm
SetupIntent.php
6992
0644
edit
dl
rm
SingletonApiResource.php
917
0644
edit
dl
rm
SKU.php
2793
0644
edit
dl
rm
Source.php
8477
0644
edit
dl
rm
SourceTransaction.php
408
0644
edit
dl
rm
Stripe.php
7224
0644
edit
dl
rm
StripeObject.php
18869
0644
edit
dl
rm
Subscription.php
10559
0644
edit
dl
rm
SubscriptionItem.php
3997
0644
edit
dl
rm
SubscriptionSchedule.php
3749
0644
edit
dl
rm
TaxId.php
3895
0644
edit
dl
rm
TaxRate.php
1818
0644
edit
dl
rm
ThreeDSecure.php
2565
0644
edit
dl
rm
Token.php
3590
0644
edit
dl
rm
Topup.php
3903
0644
edit
dl
rm
Transfer.php
6229
0644
edit
dl
rm
TransferReversal.php
3226
0644
edit
dl
rm
UsageRecord.php
938
0644
edit
dl
rm
UsageRecordSummary.php
771
0644
edit
dl
rm
Webhook.php
1515
0644
edit
dl
rm
WebhookEndpoint.php
2219
0644
edit
dl
rm
WebhookSignature.php
4380
0644
edit
dl
rm
Edit:
/home/techb158/ileadtechnology.com/SSM/vendor/stripe/stripe-php/lib/WebhookSignature.php
(4380B)
<?php namespace Stripe; abstract class WebhookSignature { const EXPECTED_SCHEME = 'v1'; /** * Verifies the signature header sent by Stripe. Throws an * Exception\SignatureVerificationException exception if the verification fails for * any reason. * * @param string $payload the payload sent by Stripe * @param string $header the contents of the signature header sent by * Stripe * @param string $secret secret used to generate the signature * @param int $tolerance maximum difference allowed between the header's * timestamp and the current time * * @throws Exception\SignatureVerificationException if the verification fails * * @return bool */ public static function verifyHeader($payload, $header, $secret, $tolerance = null) { // Extract timestamp and signatures from header $timestamp = self::getTimestamp($header); $signatures = self::getSignatures($header, self::EXPECTED_SCHEME); if (-1 === $timestamp) { throw Exception\SignatureVerificationException::factory( 'Unable to extract timestamp and signatures from header', $payload, $header ); } if (empty($signatures)) { throw Exception\SignatureVerificationException::factory( 'No signatures found with expected scheme', $payload, $header ); } // Check if expected signature is found in list of signatures from // header $signedPayload = "{$timestamp}.{$payload}"; $expectedSignature = self::computeSignature($signedPayload, $secret); $signatureFound = false; foreach ($signatures as $signature) { if (Util\Util::secureCompare($expectedSignature, $signature)) { $signatureFound = true; break; } } if (!$signatureFound) { throw Exception\SignatureVerificationException::factory( 'No signatures found matching the expected signature for payload', $payload, $header ); } // Check if timestamp is within tolerance if (($tolerance > 0) && (\abs(\time() - $timestamp) > $tolerance)) { throw Exception\SignatureVerificationException::factory( 'Timestamp outside the tolerance zone', $payload, $header ); } return true; } /** * Extracts the timestamp in a signature header. * * @param string $header the signature header * * @return int the timestamp contained in the header, or -1 if no valid * timestamp is found */ private static function getTimestamp($header) { $items = \explode(',', $header); foreach ($items as $item) { $itemParts = \explode('=', $item, 2); if ('t' === $itemParts[0]) { if (!\is_numeric($itemParts[1])) { return -1; } return (int) ($itemParts[1]); } } return -1; } /** * Extracts the signatures matching a given scheme in a signature header. * * @param string $header the signature header * @param string $scheme the signature scheme to look for * * @return array the list of signatures matching the provided scheme */ private static function getSignatures($header, $scheme) { $signatures = []; $items = \explode(',', $header); foreach ($items as $item) { $itemParts = \explode('=', $item, 2); if ($itemParts[0] === $scheme) { \array_push($signatures, $itemParts[1]); } } return $signatures; } /** * Computes the signature for a given payload and secret. * * The current scheme used by Stripe ("v1") is HMAC/SHA-256. * * @param string $payload the payload to sign * @param string $secret the secret used to generate the signature * * @return string the signature as a string */ private static function computeSignature($payload, $secret) { return \hash_hmac('sha256', $payload, $secret); } }
Save
cmd:
run