Discussions
Need help with my webhook signature on laravel/PHP
public function test(Request $request){
```
$signingSecret = 'sk_test_UVzt5mdhyRgoZxK1C7YimXaV';
$header_signature = $request->header('Paymongo_Signature');
$header_signature_res =preg_split("/,/",$header_signature);
$header_time_no_equal = preg_split("/=/",$header_signature_res[0]);
//contains the time ex: 1716800978
$header_time_no_equal_res = $header_time_no_equal[1];
$header_string_no_equal = preg_split("/=/",$header_signature_res[1]);
//contains the test mode signature without the 'te=' ex: 1447a89e7ecebeda32sffs62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd
$header_string_no_equal_res = $header_string_no_equal[1];
$payload= $request->getContent();
//concatinated the time and $request->getContent() ex:1716800978{json response data} and the second value is my secret key ex: sk_test_UVzt5mdhyRgoZxK1C7YimXaV
$computedSignature = hash_hmac('sha256',$header_time_no_equal_res.$payload, $signingSecret);
$signature = hash_equals($header_string_no_equal_res.$header_string_no_equal_res,$computedSignature);
if($signature == 1 || $signature == true){
WebhookCall::insert([
'payload' =>'valid',
]);
}else{
WebhookCall::insert([
'payload' =>'Invalid'
]);
}
}
```
May I ask you guys how to construc a signature validator in paymongo?
when I try running this program, the has_hmac() return value always return 0 instead of true. any help from you guys. Thanks in advance
Posted by null 4 months ago
Securing a Webhook.
I did not understand this part of instruction. Could you elaborate further and provide an example of how the data should be look?
<br />
2. Concatenate the following to create your own signature:
a. The timestamp as a string, e.g. 1496734173
b. A . character
c. The JSON payload of the request you received. NOTE: You must get the raw payload of the request. Check your programming language or frameworks on how to get the raw payload of an API request.
Posted by Aldren Gadon 5 months ago
What should I do if I encounter a 429 error?
Error code: 429
Posted by null 6 months ago
sandbox
how to access the sandbox environment in paymongo and how to use it? can you helpme?
Posted by john 7 months ago
Why is my webhook not working on Livemode?
Webhook is fine when I'm testing it out using TEST API but when I use LIVE API KEYS it does not work?
Posted by Christian 7 months ago
TypeError: paymongo.paymentMethods.create is not a function
i got this code from paymongo-node sdks github repo.
<https://github.com/paymongo/paymongo-node>
const paymongo = require('paymongo-node')(process.env.NODE_ENV_PAYMONGO_SECRET);
const createPayIntent = async (amount) => {
const result = await paymongo.paymentIntents.create({
amount: amount,is not a function
payment_method_allowed: ['paymaya', 'gcash'],
payment_method_options: {card: {request_three_d_secure: 'any'}},
currency: 'PHP',
capture_type: 'automatic',
description: 'gcash and paymaya only'
})
return result;
}
this line of code actually works
but when i try this. paymongo.paymentMethods.create it does not work.
//the code:
const createPayMethod = async (name, email, phone, method) => {
const result = await paymongo.paymentMethods.create({
billing: {name: name, email: email, phone: phone},
type: method
});
return result;
}
same with paymongo.paymentIntents.attach
//the code:
const attachPayIntent = async (payIntId, payMetId) => {
const result = paymongo.paymentIntents.attach({
payment_method: payMetId,
return_url: '<https://www.paymongo.com/academy/the-paymongo-dashboard'>
},{id: payIntId})
return result;
}
it both producess the same error.
is not a function
please help.
Posted by jamil harun 7 months ago
create wallet account
how to create wallet id
Posted by Ragunath 7 months ago
Hi I am getting an error. I tested this using the card numbers in Testing.
Fatal error: Uncaught GuzzleHttp\\Exception\\ClientException: Client error: `POST https://api.paymongo.com/v1/payments` resulted in a `400 Bad Request` response: {"errors":\[{"code":"parameter_invalid","detail":"The source.type passed card is invalid.","source":{"pointer":"source.ty (truncated...) in C:\\xampp\\htdocs\\paymongo\\vendor\\guzzlehttp\\guzzle\\src\\Exception\\RequestException.php:113 Stack trace: #0 C:\\xampp\\htdocs\\paymongo\\vendor\\guzzlehttp\\guzzle\\src\\Middleware.php(72): GuzzleHttp\\Exception\\RequestException::create(Object(GuzzleHttp\\Psr7\\Request), Object(GuzzleHttp\\Psr7\\Response), NULL, Array, NULL) #1 C:\\xampp\\htdocs\\paymongo\\vendor\\guzzlehttp\\promises\\src\\Promise.php(209): GuzzleHttp\\Middleware::GuzzleHttp\{closure}(Object(GuzzleHttp\\Psr7\\Response)) #2 C:\\xampp\\htdocs\\paymongo\\vendor\\guzzlehttp\\promises\\src\\Promise.php(158): GuzzleHttp\\Promise\\Promise::callHandler(1, Object(GuzzleHttp\\Psr7\\Response), NULL) #3 C:\\xampp\\htdocs\\paymongo\\vendor\\guzzlehttp\\promises\\src\\TaskQueue.php(52): GuzzleHttp\\Promise\\Promise::GuzzleHttp\\Promise\{closure}() #4 C:\\xampp\\htdocs\\paymongo\\vendor\\guzzlehttp\\promises\\src\\Promise.php(251): GuzzleHttp\\Promise\\TaskQueue->run(true) #5 C:\\xampp\\htdocs\\paymongo\\vendor\\guzzlehttp\\promises\\src\\Promise.php(227): GuzzleHttp\\Promise\\Promise->invokeWaitFn() #6 C:\\xampp\\htdocs\\paymongo\\vendor\\guzzlehttp\\promises\\src\\Promise.php(272): GuzzleHttp\\Promise\\Promise->waitIfPending() #7 C:\\xampp\\htdocs\\paymongo\\vendor\\guzzlehttp\\promises\\src\\Promise.php(229): GuzzleHttp\\Promise\\Promise->invokeWaitList() #8 C:\\xampp\\htdocs\\paymongo\\vendor\\guzzlehttp\\promises\\src\\Promise.php(69): GuzzleHttp\\Promise\\Promise->waitIfPending() #9 C:\\xampp\\htdocs\\paymongo\\vendor\\guzzlehttp\\guzzle\\src\\Client.php(189): GuzzleHttp\\Promise\\Promise->wait() #10 C:\\xampp\\htdocs\\paymongo\\create_payment.php(100): GuzzleHttp\\Client->request('POST', '<https://api.pay...'>, Array) #11 {main} thrown in C:\\xampp\\htdocs\\paymongo\\vendor\\guzzlehttp\\guzzle\\src\\Exception\\RequestException.php on line 113
Posted by Janeil Alcano 8 months ago
Test mode not working in wordpress/woocommerce
I'm getting There are no payment methods available error though I enabled the test environment and setup the keys and tokens.
Posted by Grace 8 months ago
is there an option to decline foreign cards and only use local cards in the PH.
Adding 1% when customers use cards from other countries is tough for my business. I want to keep my prices low, and that extra 1% might either cost me too much money or make me raise prices, which I really don't want to do.
Posted by Chaben Alagbay 9 months ago