X7ROOT File Manager
Current Path:
/home/gfecatvj/sites/restate/vendor/stripe/stripe-php/lib
home
/
gfecatvj
/
sites
/
restate
/
vendor
/
stripe
/
stripe-php
/
lib
/
📁
..
📄
Account.php
(15.84 KB)
📄
AccountLink.php
(789 B)
📄
AlipayAccount.php
(2.33 KB)
📁
ApiOperations
📄
ApiRequestor.php
(14.37 KB)
📄
ApiResource.php
(3.37 KB)
📄
ApiResponse.php
(712 B)
📄
ApplePayDomain.php
(975 B)
📄
ApplicationFee.php
(4.06 KB)
📄
ApplicationFeeRefund.php
(2.4 KB)
📄
Balance.php
(2.16 KB)
📄
BalanceTransaction.php
(5.43 KB)
📄
BankAccount.php
(6.68 KB)
📄
BaseStripeClient.php
(9.17 KB)
📁
BillingPortal
📄
BitcoinReceiver.php
(4.09 KB)
📄
BitcoinTransaction.php
(844 B)
📄
Capability.php
(2.83 KB)
📄
Card.php
(7.64 KB)
📄
Charge.php
(11.99 KB)
📁
Checkout
📄
Collection.php
(7 KB)
📄
CountrySpec.php
(1.7 KB)
📄
Coupon.php
(2.82 KB)
📄
CreditNote.php
(5.51 KB)
📄
CreditNoteLineItem.php
(1.73 KB)
📄
Customer.php
(12.36 KB)
📄
CustomerBalanceTransaction.php
(5.17 KB)
📄
Discount.php
(298 B)
📄
Dispute.php
(5.03 KB)
📄
EphemeralKey.php
(1.51 KB)
📄
ErrorObject.php
(8.46 KB)
📄
Event.php
(11.85 KB)
📁
Exception
📄
ExchangeRate.php
(1.37 KB)
📄
File.php
(3.24 KB)
📄
FileLink.php
(1.41 KB)
📁
HttpClient
📄
Invoice.php
(18.07 KB)
📄
InvoiceItem.php
(3.59 KB)
📄
InvoiceLineItem.php
(2.65 KB)
📁
Issuing
📄
LineItem.php
(1.99 KB)
📄
LoginLink.php
(385 B)
📄
Mandate.php
(1.04 KB)
📄
OAuth.php
(3.31 KB)
📄
OAuthErrorObject.php
(861 B)
📄
Order.php
(5.06 KB)
📄
OrderItem.php
(333 B)
📄
OrderReturn.php
(1.61 KB)
📄
PaymentIntent.php
(10.92 KB)
📄
PaymentMethod.php
(3.32 KB)
📄
Payout.php
(5.86 KB)
📄
Person.php
(4.47 KB)
📄
Plan.php
(5.41 KB)
📄
Price.php
(4.55 KB)
📄
Product.php
(4.12 KB)
📁
Radar
📄
Recipient.php
(2.65 KB)
📄
RecipientTransfer.php
(918 B)
📄
Refund.php
(4 KB)
📁
Reporting
📄
RequestTelemetry.php
(539 B)
📄
Review.php
(3.25 KB)
📄
SKU.php
(2.78 KB)
📁
Service
📄
SetupIntent.php
(6.88 KB)
📁
Sigma
📄
SingletonApiResource.php
(917 B)
📄
Source.php
(8.33 KB)
📄
SourceTransaction.php
(408 B)
📄
Stripe.php
(7.05 KB)
📄
StripeClient.php
(3.32 KB)
📄
StripeClientInterface.php
(1.4 KB)
📄
StripeObject.php
(18.43 KB)
📄
Subscription.php
(10.57 KB)
📄
SubscriptionItem.php
(5.43 KB)
📄
SubscriptionSchedule.php
(3.78 KB)
📄
TaxId.php
(4.19 KB)
📄
TaxRate.php
(2.08 KB)
📁
Terminal
📄
ThreeDSecure.php
(2.5 KB)
📄
Token.php
(3.5 KB)
📄
Topup.php
(3.86 KB)
📄
Transfer.php
(6.13 KB)
📄
TransferReversal.php
(3.2 KB)
📄
UsageRecord.php
(939 B)
📄
UsageRecordSummary.php
(771 B)
📁
Util
📄
Webhook.php
(1.48 KB)
📄
WebhookEndpoint.php
(2.22 KB)
📄
WebhookSignature.php
(4.28 KB)
Editing: WebhookSignature.php
<?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); } }
Upload File
Create Folder