C++17 SDK for creating MakePay payment links from native applications, game servers, embedded services, and Unreal-side backend tools.
- Header-only client API with a pluggable HTTP transport.
- Structured payload and response handling through
nlohmann::json. - MakePay webhook HMAC verifier using OpenSSL Crypto.
- CMake target:
MakePay::makepay. - No MakePay credentials in client binaries unless your application supplies them at runtime.
add_subdirectory(makepay-cpp)
target_link_libraries(your_app PRIVATE MakePay::makepay)#include <makepay/client.hpp>
makepay::Config config;
config.key_id = std::getenv("MAKEPAY_KEY_ID") ? std::getenv("MAKEPAY_KEY_ID") : "";
config.key_secret = std::getenv("MAKEPAY_KEY_SECRET") ? std::getenv("MAKEPAY_KEY_SECRET") : "";
makepay::Client client(config, your_http_transport);
makepay::PaymentLinkPayload payload;
payload.title = "Game credits";
payload.amount = "9.99";
payload.currency = "USD";
payload.metadata = {{"source", "cpp"}};
auto link = client.create_payment_link(payload);The SDK accepts any transport matching:
makepay::HttpResponse transport(const makepay::HttpRequest& request);This keeps the SDK usable with libcurl, cpp-httplib, Unreal HTTP, Boost.Beast, or an internal engine transport.
cmake -S . -B build -DMAKEPAY_BUILD_TESTS=ON
cmake --build build --parallel
ctest --test-dir build --output-on-failure
node scripts/validate.mjs