/
home
/
desid573
/
public_html
/
angel
/
stripe
/
lib
/
/home/desid573/public_html/angel/stripe/lib
mkdir
upload
Name
Size
Mode
Actions
ApiOperations/
-
0755
rm
Checkout/
-
0755
rm
Error/
-
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
13293
0644
edit
dl
rm
AccountLink.php
301
0644
edit
dl
rm
AlipayAccount.php
2274
0644
edit
dl
rm
ApiRequestor.php
16250
0644
edit
dl
rm
ApiResource.php
3294
0644
edit
dl
rm
ApiResponse.php
609
0644
edit
dl
rm
ApplePayDomain.php
549
0644
edit
dl
rm
ApplicationFee.php
2833
0644
edit
dl
rm
ApplicationFeeRefund.php
1325
0644
edit
dl
rm
Balance.php
504
0644
edit
dl
rm
BalanceTransaction.php
2712
0644
edit
dl
rm
BankAccount.php
3572
0644
edit
dl
rm
BitcoinReceiver.php
1341
0644
edit
dl
rm
BitcoinTransaction.php
180
0644
edit
dl
rm
Capability.php
2314
0644
edit
dl
rm
Card.php
4338
0644
edit
dl
rm
Charge.php
8058
0644
edit
dl
rm
Collection.php
2958
0644
edit
dl
rm
CountrySpec.php
559
0644
edit
dl
rm
Coupon.php
742
0644
edit
dl
rm
CreditNote.php
2097
0644
edit
dl
rm
Customer.php
10145
0644
edit
dl
rm
CustomerBalanceTransaction.php
2898
0644
edit
dl
rm
Discount.php
319
0644
edit
dl
rm
Dispute.php
2697
0644
edit
dl
rm
EphemeralKey.php
893
0644
edit
dl
rm
Event.php
11263
0644
edit
dl
rm
ExchangeRate.php
222
0644
edit
dl
rm
File.php
1705
0644
edit
dl
rm
FileLink.php
522
0644
edit
dl
rm
FileUpload.php
154
0644
edit
dl
rm
Invoice.php
6569
0644
edit
dl
rm
InvoiceItem.php
869
0644
edit
dl
rm
InvoiceLineItem.php
705
0644
edit
dl
rm
IssuerFraudRecord.php
435
0644
edit
dl
rm
LoginLink.php
235
0644
edit
dl
rm
OAuth.php
3200
0644
edit
dl
rm
Order.php
1646
0644
edit
dl
rm
OrderItem.php
354
0644
edit
dl
rm
OrderReturn.php
470
0644
edit
dl
rm
PaymentIntent.php
3263
0644
edit
dl
rm
PaymentMethod.php
1475
0644
edit
dl
rm
Payout.php
3072
0644
edit
dl
rm
Person.php
3128
0644
edit
dl
rm
Plan.php
870
0644
edit
dl
rm
Product.php
1117
0644
edit
dl
rm
Recipient.php
1061
0644
edit
dl
rm
RecipientTransfer.php
918
0644
edit
dl
rm
Refund.php
1813
0644
edit
dl
rm
RequestTelemetry.php
559
0644
edit
dl
rm
Review.php
1644
0644
edit
dl
rm
SetupIntent.php
2171
0644
edit
dl
rm
SingletonApiResource.php
937
0644
edit
dl
rm
SKU.php
691
0644
edit
dl
rm
Source.php
4486
0644
edit
dl
rm
SourceTransaction.php
414
0644
edit
dl
rm
Stripe.php
6751
0644
edit
dl
rm
StripeObject.php
17756
0644
edit
dl
rm
Subscription.php
2802
0644
edit
dl
rm
SubscriptionItem.php
1612
0644
edit
dl
rm
SubscriptionSchedule.php
1857
0644
edit
dl
rm
TaxId.php
2255
0644
edit
dl
rm
TaxRate.php
599
0644
edit
dl
rm
ThreeDSecure.php
333
0644
edit
dl
rm
Token.php
766
0644
edit
dl
rm
Topup.php
1557
0644
edit
dl
rm
Transfer.php
3704
0644
edit
dl
rm
TransferReversal.php
1452
0644
edit
dl
rm
UsageRecord.php
1243
0644
edit
dl
rm
UsageRecordSummary.php
382
0644
edit
dl
rm
Webhook.php
1494
0644
edit
dl
rm
WebhookEndpoint.php
549
0644
edit
dl
rm
WebhookSignature.php
4239
0644
edit
dl
rm
Edit:
/home/desid573/public_html/angel/stripe/lib/WebhookSignature.php
(4239B)
<?php namespace Stripe; abstract class WebhookSignature { const EXPECTED_SCHEME = "v1"; /** * Verifies the signature header sent by Stripe. Throws a * SignatureVerification 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 \Stripe\Error\SignatureVerification 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 ($timestamp == -1) { throw new Error\SignatureVerification( "Unable to extract timestamp and signatures from header", $header, $payload ); } if (empty($signatures)) { throw new Error\SignatureVerification( "No signatures found with expected scheme", $header, $payload ); } // 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 new Error\SignatureVerification( "No signatures found matching the expected signature for payload", $header, $payload ); } // Check if timestamp is within tolerance if (($tolerance > 0) && (abs(time() - $timestamp) > $tolerance)) { throw new Error\SignatureVerification( "Timestamp outside the tolerance zone", $header, $payload ); } 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 ($itemParts[0] == "t") { if (!is_numeric($itemParts[1])) { return -1; } return intval($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