Starting is hardest, but after being consistent you can see the benefits.
It's has been 7 Days since I started posting on X by this time the followers increase 30 to 100π₯³ what will happen in the upcoming Daysπ€π€ ?
@Simret_exe
It's has been 7 Days since I started posting on X by this time the followers increase 30 to 100π₯³ what will happen in the upcoming Daysπ€π€ ?
@Simret_exe
π9π1
Forwarded from Kidus's Chronicles (Kidus)
Introducing Should I?
I always have a hard time containing myself from buying things even when i don't have money, and I wanted something to remind me how many hours of my life I need to waste to buy that. You input your salary and the amount of the thing you want to buy and it gives you a verdict, fun project.
Link
I always have a hard time containing myself from buying things even when i don't have money, and I wanted something to remind me how many hours of my life I need to waste to buy that. You input your salary and the amount of the thing you want to buy and it gives you a verdict, fun project.
Link
π1π₯1
Media is too big
VIEW IN TELEGRAM
β³ Day 8/60 Building SafePay
What happens when a customer changes their mind before the money moves?
Today SafePay got an emergency brake. I built a dedicated cancel API endpoint that allows merchants to safely halt pending payments. I also added a lightweight verify endpoint so merchants can check a payment's status without fetching the full heavy payload.
X post
#60Days #Consistency
What happens when a customer changes their mind before the money moves?
Today SafePay got an emergency brake. I built a dedicated cancel API endpoint that allows merchants to safely halt pending payments. I also added a lightweight verify endpoint so merchants can check a payment's status without fetching the full heavy payload.
X post
#60Days #Consistency
π₯2π1
β€1
This media is not supported in your browser
VIEW IN TELEGRAM
The best kira design πππ
π€£4π1
This media is not supported in your browser
VIEW IN TELEGRAM
β³ Day 9/60 Building SafePay
What if someone copies a real webhook and sends it again later?
Today I upgraded SafePay's webhooks. Every event now has a unique ID, so a merchant can ignore duplicates caused by retries, and a clear type such as payment.succeeded or payment.cancelled.
The signature now covers the timestamp too, so an old copy is rejected as a replay, and a changed body fails the check. The event ID stays the same on every retry, while the timestamp is fresh on each attempt.
X post
Next: list and retrieve payments.
#60Days #Consistency
What if someone copies a real webhook and sends it again later?
Today I upgraded SafePay's webhooks. Every event now has a unique ID, so a merchant can ignore duplicates caused by retries, and a clear type such as payment.succeeded or payment.cancelled.
The signature now covers the timestamp too, so an old copy is rejected as a replay, and a changed body fails the check. The event ID stays the same on every retry, while the timestamp is fresh on each attempt.
X post
Next: list and retrieve payments.
#60Days #Consistency
β€4
Forwarded from ScholarXIV
Happy to announce ScholarXIV is accepted into the Claude Startup program where our team gets $1,000 in API credits and $625 of subscription credits.
#Claude
@ScholarXIV
#Claude
@ScholarXIV
π4
Forwarded from Robi makes stuff (Robi)
Welp, here it is . Moat or bloat
Effectively a very harsh standard for grading the "Introducing X" posts we see in "the telegram community"
under review means not enough data, moat means peak ( only 2 projects so far ) float means alright but needs work and bloat means needs work.
Dont be mad at me demo π its also roasting me
https://mob.robi.work/
Effectively a very harsh standard for grading the "Introducing X" posts we see in "the telegram community"
under review means not enough data, moat means peak ( only 2 projects so far ) float means alright but needs work and bloat means needs work.
Dont be mad at me demo π its also roasting me
https://mob.robi.work/
β€1π1
This media is not supported in your browser
VIEW IN TELEGRAM
β³ Day 10/60 Building SafePay
A long, good day: half research, half code.
I studied 4 Ethiopian payment gateways (Chapa, ArifPay, SantimPay, AddisPay) and found they differ on test access, cancelling, webhook security, and status names. So I built a universal adapter framework that lets SafePay plug into any of them, and moved the provider's own details (reference IDs, raw status) into new database fields.
I also added a verify-before-trust rule: a webhook never decides a payment's status, SafePay asks the provider to confirm first. To test it without real money, I built an in-memory fake provider, and the automated tests pass.
X post
Next: connecting Chapa in test mode.
#60Days #Consistency
A long, good day: half research, half code.
I studied 4 Ethiopian payment gateways (Chapa, ArifPay, SantimPay, AddisPay) and found they differ on test access, cancelling, webhook security, and status names. So I built a universal adapter framework that lets SafePay plug into any of them, and moved the provider's own details (reference IDs, raw status) into new database fields.
I also added a verify-before-trust rule: a webhook never decides a payment's status, SafePay asks the provider to confirm first. To test it without real money, I built an in-memory fake provider, and the automated tests pass.
X post
Next: connecting Chapa in test mode.
#60Days #Consistency
β€6π₯3