VELKAVARAT

API:n kehittäminen

API-viite, tausta- ja mobiiliesimerkit sekä maksujen palautukset ja ilmoitukset yhdessä paikassa. PHP, Node.js, Python, C#, Java, iOS Swift ja Android Kotlin tukevat ON_SITE- ja HPP-sivustoja.

LEST API · TAKAISIN

Yksi maksumääräys. Valitse ON_SITE tai HPP.

Luo tilaus palvelimellesi, tallenna sen sitominen paikalliseen tilaukseen ja valitse sitten, miten asiakas näkee maksun. Molemmat tilat käyttävät samaa order_id.

Katso HPP synkroniset palautukset ja ON_SITE/HPP asynkronisten ilmoitusten käsittely, PHP, Node.js, Python, C# ja Java koodi.

ON_SITE

Maksuikkuna kassalla

Näytä tarkka määrä, osoite, verkko ja QR oman verkkotunnuksesi ikkunassa. Backend kyselyt MochiPay ja palauttaa turvallisen maksunäkymän.

Katso upotettu HTML + PHP →
HPP

Ohjaa MochiPay kassalle

Palvelimesi uudelleenohjaa asiakkaan osoitteeseen payment_url. Vahvista palautus tai ilmoitus maksun jälkeen todistetulla Kyselytilauksella.

Katso PHP uudelleenohjaus →

Alla olevat otteet ovat peräisin julkaisusta checkout.php ja apuohjelmasta PHP Demo 1.1.4 (PHP 7.0–8.4). Luo ensin tilaus käyttämällä order.php; sen tuloksessa on linkit molempiin esimerkkeihin. Tuotantokauppojen tulee ratkaista valtuutettu paikallinen tilaus session/database-yhtiöstään ja suorittaa se idempotentin tapahtuman kautta.

Uudelleenohjaus palvelimen tarkistuksen jälkeen

HPP · PHP

Validoidaan tallennetun tilauksen sitominen ja määräpaikka, lähetä Location-otsake ennen sivun tulostamista.

Checkout.php · HPP-haara
// checkout.php: after loading the saved attempt and
// verifying its token, order binding and payment URL.
// $payment is the authenticated Query Order response.
if ($mode === 'HPP') {
    header('Location: ' . $payment['payment_url'], true, 303);
    exit; // Send the header before any HTML output.
}
// Verify the notification/return server-side before fulfillment.

Täydellinen tiedosto lataa tallennetun yrityksen ja vahvistaa sen tunnuksen, todennetun kyselyn ja odotetun payment_url ennen tätä haaraa.

Upota ikkuna omalle sivullesi

ON_SITE · PHP + HTML

Sisällytä paikallinen ikkunan varat kassalle HTML. Selaimessa puhutaan paikallisesta kyselystä; se ei koskaan allekirjoita pyyntöjä tai vastaanottaa API-tunnuksia.

kassa.php · paikallinen ikkunan varat
// checkout.php: use the SAME saved reference/token.
$pollUrl = 'order.php?' . http_build_query([
    'view' => $reference, 'token' => $token, 'poll' => 1
], '', '&', PHP_QUERY_RFC3986);
$completeUrl = 'callback.php?' . http_build_query([
    'mode' => 'return', 'merchant_order_id' => $reference
], '', '&', PHP_QUERY_RFC3986);
$config = json_encode([
    'poll' => $pollUrl, 'complete' => $completeUrl
], JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT);
?>
<!-- Inside your own checkout page: -->
<link rel="stylesheet" href="portable/onsite.css">
<button id="reopen" type="button">Open payment dialog</button>
<script>window.MochiPayConfig = <?php echo $config; ?>;</script>
<script src="portable/qrcode.min.js"></script>
<script src="portable/onsite.js"></script>

sivustolla.js avaa ikkunan olemassa olevalle sivulle. Sen sulkeminen jättää kassan näkyville; Open payment -ikkuna avaa saman maksun uudelleen.

Takaosasi tarkastaa tilauksen

Valtuuta tallennettu viite/tunnus, tee kysely tallennetun MochiPay order_id:n mukaan ja vertaa alkuperäistä summaa/valuuttaa, omaisuutta/verkkoa, osoitetta ja tarkkaa maksettavaa summaa. Palauta vain turvallinen maksunäkymä desimaalimerkkijonoilla.

order.php · paikallinen äänestysten päätepiste
// order.php?view=...&token=...&poll=1 (server-side)
// The demo has already authorized the saved attempt/token.
$response = mochipay_query_order(
    'order_id', $record['snapshot']['order_id']
);
if (!$response['ok'] || !mochipay_bound($record, $response['data'])) {
    http_response_code(403);
    exit;
}
// Also check the expected received amount before accepting PAID.
header('Content-Type: application/json; charset=utf-8');
header('Cache-Control: no-store');
echo json_encode([
    'success' => true,
    'data' => MochiPayPortable::view($response['data'])
]); // Safe view: decimal strings; no credentials/customer fields.

Täydellinen demo tarkastaa lisäksi saadun määrän maksusuorituksen osalta. Callback.php tarkastaa ilmoitukset ja selaimen palautukset. Kuvakaappaus, uudelleenohjaus tai selaimen lippu ei ole koskaan todiste maksusta.

Testaa maksuintegraatiosi

Ota Sandbox käyttöön kauppiasportaalissa → Maksutila. Pidä API-tunnukset, pyyntöjen URL-osoitteet, tilauskyselyiden tarkistukset ja ilmoitusten käsittely ennallaan. Vaihda takaisin Live-tilaan ennen oikeiden maksujen vastaanottamista.

Sandbox käyttää QR-esimerkkiä ja simuloituja summia, ei vastaanottolompakkoa tai todellista maksutarjousta. Käytä HPP:n tai päivitetyn ON_SITE-ikkunan simulointipainikkeita. Onnistuneen maksun simulointi voi käynnistää kaupan normaalin tilauksen käsittelyn, joten käytä testikauppaa.

Maksutapa · Liitännäisten lataukset

Tunnistautuminen

Jokaisessa API-pyynnössä on oltava kauppias API-avain ja Base64-koodattu HMAC-SHA256-allekirjoitus.

OtsikkoVaaditaanKuvaus
X-Mochi-KeyKylläKauppiaan API-avaimesi.
X-Mochi-SignatureKylläPerus64 koodattu HMAC-SHA256 allekirjoitus.
Content-TypePostipyynnötapplication/json
Pidä API salaisuutena palvelimella. Älä koskaan paljasta sitä selaimessa JavaScript, mobiilisovellukset tai julkinen lähdekoodi.

Allekirjoitus

Luo järjestys, allekirjoittaa tarkka raaka JSON kehon. Voit tilata kyselytilauksen kirjoittamalla raa'an kyselyjonon ilman johtavaa ?.

ALLEKIRJOITUSMUOTO
Base64(HMAC-SHA256(UTF8(signing_text), UTF8(api_secret)))

Tuetut valuutat

Tilausvaluuttahinnat osto. Maksutapa valitsee cryptovaluutta ja lohkoketju verkko käytetään maksamaan.

JÄRJESTELYT

28 tuettua fiat-valuuttaa

Käytä yhtä näistä ISO-koodeista currency Kenttä.

USDEURGBPCAD AUDNZDJPYCNY HKDSGDCHFSEK NOKDKKPLNCZK HUFAEDSARINR IDRTHBMYRPHP KRWBRLMXNZAR
CRYPTO-JÄRJESTELYT

Kryptovaluuttahinnoittelu

Tilaukset voidaan myös hinnoitella suoraan näissä cryptocurrencies.

USDTUSDCBTCETHSOLTRX
MAKSUMENETELMÄT

Tuetut kryptovaluutta- ja verkkoyhdistelmät

Lähetä yksi näistä arvoista payment_method Kenttä.

USDT_TRC20USDT mallilla TRON
USDC_ERC20USDC mallilla Ethereum
BTC_BITCOINAlkuperäinen BTC mallilla Bitcoin
ETH_ERC20Alkuperäinen ETH mallilla Ethereum
SOL_SOLANAAlkuperäinen SOL mallilla Solana
TRX_TRONNative TRX on Tron
Muuntamissääntö: Jos tilausvaluutta ja maksu omaisuuserä ovat samat, MochiPay käyttää korko 1 ilman kääntymistä. Muussa tapauksessa tallennettua valuuttakurssia ja kauppahintaa sovelletaan tilauksen laatimisen yhteydessä. Näytä nykyiset viitekurssit →
TilausarvoMaksutapaTulos
49.90 USDUSDT_TRC20Käyttää tallennettua USD → USDT-korkoa ja kauppahintaa.
100 EURBTC_BITCOINKäyttää tallennettua EUR → BTC-hintaa ja kauppahintaa.
25 USDCUSDC_ERC20Ei muutosta. Valuuttakurssi on 1.

Luo tilaus

Luo maksumääräys, jossa on isännöity maksuverkko- osoite, sekä paikan päällä olevaan käyttöliittymään tarvittavat maksuohjeet.

POST https://mochi.bz/api/v1/orders/create

Pyyntöparametrit

Tilaa valuutta ja maksutapa ovat erilaisia käsitteitä. amount sekä currency Määrittele myyjän alkuperäinen tilausarvo. payment_method määrittää asiakkaan maksuun käyttämän kryptovaluutta- ja lohkoketjuverkon. Esimerkiksi 49.90 USD kun USDT_TRC20 tarkoittaa, että USD-määräyksille maksetaan laskettu määrä USDT:tä TRON-verkossa.

Jokainen uusi kassa luo uuden tilauksen, vaikka merchant_order_id toistuisi.

Luomisen aikakatkaisu ei tarkoita epäonnistumista. Ensimmäinen kysely, jossa request_id on tallennettu ennen luomista.

Pyydä tallennettua request_id palauttaaksesi epävarman tuloksen; merchant_order_id on vain viittaus.

ParametriVaaditaanTyyppi / PituusKuvaus
request_idVapaaehtoinen, suositeltavastring · 1–64Pyyntötunniste, jonka luot ja tallennat ennen maksun luomista. Käytä sitä uudelleen kyselyn tai uudelleen yrittää samaa yritystä.
merchant_order_idKyllästring · 1–100Kauppasi tilausnumerossa on kirjainkoolla merkitystä ja se saattaa toistua. Jos useat maksut täsmäävät, tee kysely käyttämällä request_id tai order_id.
amountKyllädecimal(28,8)Positiivinen alkuperäinen tilausmäärä. Fiat käyttää tavallisesti 2 desimaaleja; tuetut kryptovaluutat voivat käyttää jopa 8.
currencyKyllästring · 1–20Alkuperäinen järjestysvaluuttakoodi. Se voi olla fiat, kuten USD tai EUR, tai kryptovaluutta, kuten USDT tai USDC.
payment_methodEiomaisuuserä ≤20 + verkko ≤30Maksu kryptovaluutta ja lohkoketju verkko ASSET_NETWORK muoto, kuten USDT_TRC20 tai USDC_ERC20.
unique_amount_directionEiUP tai DOWNSuunta käytetään pieni ainutlaatuinen määrä säätö. Oletukset UP.
product_typeEiPHYSICAL tai DIGITAL_SERVICETilaustyyppi näkyy kassalla. Oletukset DIGITAL_SERVICE. Merenkulkukentät ovat edelleen valinnaisia molemmille tyypeille.
descriptionEistring · 0–500Ihmisen luettavissa oleva tilauskuvaus.
product_infoEiJSON/string · nvarchar (max)Tuote, kärryt tai mukautetut metatiedot. Täydellinen HTTP-pyyntöelin ei saa ylittää 65,536 tavua.
customer_emailEistring · 0–255Asiakkaan sähköpostiosoite. Kun se toimitetaan, sen on oltava voimassa oleva sähköpostiosoite.
customer_phoneEistring · 0–50Asiakkaan puhelinnumero.
first_nameEistring · 0–100Asiakkaan etunimi.
last_nameEistring · 0–100Asiakkaan sukunimi.
companyEistring · 0–200Asiakasyrityksen tai organisaation nimi.
countryEistring · 0–100Asiakasmaa tai -alue.
stateEistring · 0–100Asiakasvaltio, maakunta tai alue.
cityEistring · 0–100Asiakaskaupunki.
address1Eistring · 0–500Ensisijainen asiakkaan osoiterivi.
address2Eistring · 0–500Lisäasiakkaan osoiterivi.
postal_codeEistring · 0–30Asiakkaan posti- tai postinumero.
notify_urlEistring · 0–1000Absoluuttinen http:// tai https:// asynkroninen palvelimen ilmoitus URL. Vain julkiset kohteet ovat sallittuja; paikallinen isäntä, yksityinen/varattu IP- ja uudelleenohjaus ovat estetty.
redirect_urlEistring · 0–1000Absoluuttinen asiakas palauttaa URL käytetty onnistuneen maksun jälkeen.
customer_ipEiIPv4/IPv6 · 0–45Kauppiaan toimittama asiakas IP. MochiPay tallentaa myös API-pyynnön IP erikseen.

Jos payment_method puuttuu, on tyhjä tai sitä ei tueta, HPP-valinta avautuu. Tuetut arvot säilyttävät suoran maksun. Valinta lukitaan QR-koodin luomisen jälkeen.

Pyyntöesimerkki

JSON
{
  "merchant_order_id": "ORDER-20260919-001",
  "amount": 49.90,
  "currency": "USD",
  "payment_method": "USDT_TRC20",
  "unique_amount_direction": "UP",
  "product_type": "DIGITAL_SERVICE",
  "description": "MochiPay order",
  "customer_email": "customer@example.com",
  "redirect_url": "https://merchant.example.com/payment/return"
}
C# · LUONNON MÄÄRÄYS
string baseUrl = "https://mochi.bz";
string body = @"{
  ""merchant_order_id"": ""ORDER-20260920-001"",
  ""amount"": 49.90,
  ""currency"": ""USD"",
  ""payment_method"": ""USDT_TRC20"",
  ""unique_amount_direction"": ""UP"",
  ""product_type"": ""DIGITAL_SERVICE"",
  ""description"": ""Example order"",
  ""notify_url"": ""https://merchant.example.com/mochipay/notify"",
  ""redirect_url"": ""https://merchant.example.com/payment/return""
}";

string signature;
using (var hmac = new HMACSHA256(Encoding.UTF8.GetBytes(apiSecret)))
{
    signature = Convert.ToBase64String(
        hmac.ComputeHash(Encoding.UTF8.GetBytes(body)));
}

using (var client = new HttpClient())
using (var request = new HttpRequestMessage(
    HttpMethod.Post, baseUrl + "/api/v1/orders/create"))
{
    request.Headers.Add("X-Mochi-Key", apiKey);
    request.Headers.Add("X-Mochi-Signature", signature);
    request.Content = new StringContent(body, Encoding.UTF8, "application/json");
    HttpResponseMessage response = await client.SendAsync(request);
    string json = await response.Content.ReadAsStringAsync();
}
PHP 7.0..8.4 · LUONNON MÄÄRÄYS
<?php
$baseUrl = 'https://mochi.bz';
$apiKey = 'YOUR_API_KEY';
$apiSecret = 'YOUR_API_SECRET';

$payload = [
    'merchant_order_id' => 'ORDER-20260920-001',
    'amount' => '49.90',
    'currency' => 'USD',
    'payment_method' => 'USDT_TRC20',
    'unique_amount_direction' => 'UP',
    'product_type' => 'DIGITAL_SERVICE',
    'description' => 'Example order',
    'notify_url' => 'https://merchant.example.com/mochipay/notify',
    'redirect_url' => 'https://merchant.example.com/payment/return'
];

$body = json_encode($payload, JSON_UNESCAPED_SLASHES);
$signature = base64_encode(
    hash_hmac('sha256', $body, $apiSecret, true)
);

$ch = curl_init($baseUrl . '/api/v1/orders/create');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
        'X-Mochi-Key: ' . $apiKey,
        'X-Mochi-Signature: ' . $signature
    ],
    CURLOPT_POSTFIELDS => $body,
    CURLOPT_SSL_VERIFYPEER => true,
    CURLOPT_TIMEOUT => 30
]);

$json = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);

if ($json === false) {
    throw new RuntimeException($error);
}

// Preserve decimal JSON numbers as text before decoding.
$json = preg_replace(
    '/("(?:amount|base_pay_amount|pay_amount|received_amount|exchange_rate|rate_markup_percent|unique_amount_delta)"\s*:\s*)(-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?)(?=\s*[,}])/',
    '$1"$2"', $json
);
$result = json_decode($json, true);
if ($httpCode < 200 || $httpCode >= 300 || empty($result['success'])) {
    throw new RuntimeException('MochiPay request failed. Review before retrying creation.');
}
?>

Onnistuminen

KenttäTyyppi / PituusKuvaus
successbooleanTotta, kun luomus onnistuu.
order_idstring · 32MochiPay-järjestelmän tunniste. Säilytä se paikallisessa tilauksessasi.
merchant_order_idstring · ≤100Alkuperäinen kauppiasviittauksesi.
product_typestring · ≤20PHYSICAL tai DIGITAL_SERVICE.
statusstring · ≤20Maksun nykytila.
amountdecimal(28,8)Alkuperäisen tilauksen määrä; säilyttäkää desimaalien tarkkuus.
currencystring · ≤20Alkuperäinen hinnoitteluvaluutta.
base_pay_amountdecimal(28,8)Muunnettu määrä ennen ainutlaatuista säätöä.
unique_amount_deltadecimal(28,8)Signeerattu vastaava mukautus.
unique_amount_directionstring · ≤10Ylös tai alas.
pay_amountdecimal(28,8)Tarkat ketju määrä näyttää ja lähettää. Älä kierrä.
payment_methodstringValittu omaisuus/verkko, esim. USDT_TRC20.
payment_addressstring · ≤255Vastaanottava osoite tämän maksun ja verkon.
payment_urlstring · URLHPP URL. Paikan päällä käytetään samoja tilausohjeita.
expires_atdatetimeViimeinen voimassaolopäivä vvvv-KK-pp HH:mm:ss muodossa.
HTTP 200 · JSON
{
  "success": true,
  "order_id": "41ad45477bd444f3bd89f0bab7f571bb",
  "merchant_order_id": "ORDER-20261003-001",
  "product_type": "DIGITAL_SERVICE",
  "status": "WAITING_PAYMENT",
  "amount": 49.90,
  "currency": "USD",
  "base_pay_amount": 49.90,
  "unique_amount_delta": 0.001,
  "unique_amount_direction": "UP",
  "pay_amount": 49.901,
  "payment_method": "USDT_TRC20",
  "payment_address": "TExampleReceivingAddressForIllustrationOnly",
  "payment_url": "https://mochi.bz/pay/41ad45477bd444f3bd89f0bab7f571bb",
  "expires_at": "2026-10-03 15:30:00"
}

Kyselyjärjestys

Hae oikeaksi todistetun kauppiaan omistama tilaus täsmälleen yhdellä toimeksiantotunnisteella.

GET https://mochi.bz/api/v1/orders/query
KyselyparametriVaaditaanTyyppi / PituusKuvaus
request_idValitse yksistring · 1–64Pyyntötunniste, jonka luot ja tallennat ennen maksun luomista. Käytä sitä uudelleen kyselyn tai uudelleen yrittää samaa yritystä.
order_idValitse yksistring · 1–32Tilaustunniste, jonka MochiPay on palauttanut maksun luomisen jälkeen.
merchant_order_idValitse yksistring · 1–100Kauppasi tilausnumerossa on kirjainkoolla merkitystä ja se saattaa toistua. Jos useat maksut täsmäävät, tee kysely käyttämällä request_id tai order_id.

Anna vain yksi kyselytunniste: request_id, order_id tai merchant_order_id.

  1. Luomisen aikakatkaisu ei tarkoita epäonnistumista. Ensimmäinen kysely, jossa request_id on tallennettu ennen luomista.
  2. Jos kysely löytää käskyn, jatka sitä. Älä luo toista maksua.
  3. Yritä alkuperäistä luontia uudelleen vain, kun vahvistettu kysely palauttaa ORDER_NOT_FOUND ja recovery_contract=request-id-v1. Käytä uudelleen samaa request_id ja muuttumatonta runkoa.
  4. Jos vahvistus epäonnistuu tai tulos on epäselvä, säilytä tallennettu pyyntö ja tee kysely myöhemmin uudelleen. Älä vaihda request_id.

Kyselyesimerkkejä

C# · TILAUS
string baseUrl = "https://mochi.bz";
string query = "merchant_order_id=ORDER-20260919-001";

using (var hmac = new HMACSHA256(Encoding.UTF8.GetBytes(apiSecret)))
{
    string signature = Convert.ToBase64String(
        hmac.ComputeHash(Encoding.UTF8.GetBytes(query)));

    using (var client = new HttpClient())
    {
        client.DefaultRequestHeaders.Add("X-Mochi-Key", apiKey);
        client.DefaultRequestHeaders.Add("X-Mochi-Signature", signature);
        string json = await client.GetStringAsync(
            baseUrl + "/api/v1/orders/query?" + query);
    }
}
PHP 7,0..8.4 · QUERY-tilaus
<?php
$baseUrl = 'https://mochi.bz';
$apiKey = 'YOUR_API_KEY';
$apiSecret = 'YOUR_API_SECRET';
$query = http_build_query(
    ['merchant_order_id' => 'ORDER-20260919-001'],
    '',
    '&',
    PHP_QUERY_RFC3986
);
$signature = base64_encode(
    hash_hmac('sha256', $query, $apiSecret, true)
);

$ch = curl_init($baseUrl . '/api/v1/orders/query?' . $query);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'X-Mochi-Key: ' . $apiKey,
        'X-Mochi-Signature: ' . $signature
    ],
    CURLOPT_SSL_VERIFYPEER => true,
    CURLOPT_TIMEOUT => 30
]);

$json = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);

if ($json === false) {
    throw new RuntimeException($error);
}

// Preserve decimal JSON numbers as text before decoding.
$json = preg_replace(
    '/("(?:amount|base_pay_amount|pay_amount|received_amount|exchange_rate|rate_markup_percent|unique_amount_delta)"\s*:\s*)(-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?)(?=\s*[,}])/',
    '$1"$2"', $json
);
$result = json_decode($json, true);
if ($httpCode < 200 || $httpCode >= 300 || empty($result['success'])) {
    throw new RuntimeException('MochiPay request failed. Review before retrying creation.');
}
?>

Kun selection_required=true, payment_method ja payment_address ovat tyhjiä ja pay_amount on 0. Käytä payment_url-osoitetta. order_id ja määräaika eivät muutu vahvistuksen jälkeen.

Menestystoimet

Kysely palauttaa wallet_type sekä network erikseen; Luo tilaus palauttaa niiden yhdistetty payment_method. Vertaa niitä menetelmää tallennetaan paikallisessa järjestyksessä. Palauta vain tarvittavat maksukentät asiakasselaimeen.

KenttäTyyppi / PituusKuvaus
order_idstring · 32MochiPay tilaustunniste.
merchant_order_idstring · ≤100Kauppatilauksenne tunniste.
sourcestring · ≤20Tilauslähde, kuten API.
descriptionstring · ≤500Tilauskuvaus.
product_typestring · ≤20PHYSICAL tai DIGITAL_SERVICE.
product_infoJSON/string/nullTuote- tai ostoskorissa annetut tiedot tilauksen laatimisen yhteydessä.
statusstring · ≤20Tilausmaksutilanne.
merchant_statusstring · ≤50Kauppasuuntautunut tilaustilanne.
amountdecimal(28,8)Alkuperäinen tilausmäärä.
currencystring · ≤20Alkuperäinen järjestysvaluutta, kuten USD, EUR, USDT tai USDC.
base_pay_amountdecimal(28,8)Muunnettu maksumäärä ennen ainutlaatuista täsmäytyskorjausta.
unique_amount_deltadecimal(28,8)Perusmäärään lisätty tai vähennetty pieni allekirjoitettu määrä.
unique_amount_directionstring · ≤10UP tai DOWN.
pay_amountdecimal(28,8)Tarkka cryptovaluutta määrä asiakkaan on maksettava.
received_amountdecimal(28,8)Tähän mennessä saatu salausvaluutta.
manual_payment_acceptedBooleanSeparate authenticated proof of an operator acceptance; never infer it from PAID alone.
exchange_ratedecimal(38,18)Vaihtokurssikuva, jota käytetään tilauksen laatimisen yhteydessä.
rate_markup_percentdecimal(9,4)Kauppojen hintamerkintäkuva, jota käytetään tilaukseen.
wallet_typestring · ≤20Maksuomaisuuserä: USDT, USDC, BTC, ETH SOL tai TRX.
networkstring · ≤30Blockchain verkko, kuten TRC20 tai ERC20.
payment_addressstring · ≤255Kauppiaan vastaanottoosoite valittu tähän tilaukseen.
tx_hashstring/null · ≤255Havaittu asiakkaan maksutapahtuma hash.
confirmationsintegerNykyinen lohkoketjuvahvistusluku.
customer_email … postal_codestring/nullValinnaiset asiakas- ja toimituskentät tilauksen luonnissa.
payment_urlstring · URLHPP kassa URL; paikan päällä integraatiot kysyvät samaa tilatilaus ja maksuohjeet.
expires_atdatetimeTilaa viimeinen käyttöaika.
paid_atdatetime/nullMaksun suoritusaika.
created_atdatetimeTilaa luomisaika.
updated_atdatetimeViimeisen tilauksen päivitysaika.

Koodiesimerkkejä

PHP, Node.js, Python, C# / .NET Framework, Java, iOS Swift ja Android Kotlin. Yksi tallennettu maksu tukee sivustoja ON_SITE ja HPP.

PHP SDK mallilla Packagist

Asenna PHP SDK Säveltimellä.

Luo ja kysy maksumääräyksiä PHP-taustakosta. Pidä API-tiedot palvelimellasi.

v1.0.2 · PHP 7.4+ · MIT

composer require mochipay/php-sdk:^1.0

Ilmaiset lataukset. Elävien tukien tilaus.

Katso tilaussuunnitelmat

Valitse sovelluksesi lähdepaketti

Yksi nykyinen ZIP kielellä tai mobiilialustalla. Sisältää englanninkieliset asennusohjeet. Alkuperäiset varastoliitännäiset pysyvät erillään ja nykyiset integraatiot toimivat edelleen.

PALVELINDEMO · ON_SITE + HPP

PHP

7.0–8.4

Alkuperäinen PHP reitit: order.php, checkout.php ja callback.php

Lataa ZIP
PALVELINDEMO · ON_SITE + HPP

Node.js

22+

Yhteiset matka- ja taustareitit

Lataa ZIP
PALVELINDEMO · ON_SITE + HPP

Python

3.10+

Yhteiset matka- ja taustareitit

Lataa ZIP
PALVELINDEMO · ON_SITE + HPP

C# / .NET Framework

4.6.1 / VS2019

Yhteiset matka- ja taustareitit

Lataa ZIP
PALVELINDEMO · ON_SITE + HPP

Java

JDK17+

Yhteiset matka- ja taustareitit

Lataa ZIP
MOBIILILÄHDE · ON_SITE + HPP

iOS Swift

iOS15+ / Xcode14+

Käytä yhtä yhteistä taustaosaa; lähdeprojekti

Lataa ZIP
MOBIILILÄHDE · ON_SITE + HPP

Android Kotlin

API26+ / SDK35 / JDK17

Käytä yhtä yhteistä taustaosaa; lähdeprojekti

Lataa ZIP

Suorita täydellinen taustavirta

  1. Määrittele yksityiset MochiPay-tunnukset, aktiiviset lompakot, julkinen HTTPS-soittokoodi ja riippumaton lavastustunnus. Palvelin omistaa demo hinnan; selain ei voi korvata sitä.
  2. Luo tai palauta käyttämällä samaa tallennettua request_id ja muuttumatonta hyötykuormaa. Tarkat UTF-8-pyyntötavut ja koodatut kyselymerkkijonot ovat HMAC-SHA256-allekirjoitettuja.
  3. Avaa tallennettu ON_SITE-ponnahdusikkuna tai HPP-uudelleenohjaus. Molemmat käyttävät yhtä maksumääräystä. ON_SITE sisältää QR:n, kopiointiohjaimet ja kymmenen kielen valitsimen.
  4. Käsittele notify_url palvelimella ja pyydä tallennettu tunnus uudelleen. Synkroniset paluu- ja kyselyreitit käyttävät uudelleen samaa binding/exact-amount-varmennusta.
  5. Tallenna todennettu maksettu tila kerran. Korvaa vaihetiedoston varasto ja merkki sovelluksen aito omistaja ja atomitietokannan tilaus päivitys ennen tuotantoa.

PHP säilyttää alkuperäisen tilauksensa.php / checkout.php / callback.php flow. Neljä uutta taustaosaa paljastavat alla olevat yhteiset reitit selaimelle ja mobiiliasiakkaille.

ReittiVastuu
POST /paymentsLuo tai palauta palvelinhintainen tuote; request_id ja payment_method; lavastuksen siirtomerkki.
GET /checkout?r=…&t=…&mode=ON_SITESäästetty tilata kauppias-paikallinen maksu ponnahduslauta.
GET /checkout?…&mode=HPP303 Uudelleenohjaus sitovan ja määräpaikkavalidoinnin jälkeen.
GET /status?r=…&t=…Allekirjoitus etupään kysely; minimaalinen desimaalin merkkijono maksu DTO.
POST /callback?r=…&t=…Synkroninen tarkistus ja kertamaksumerkki.
GET /complete?r=…&t=…Vahvistettu synkroninen paluu/tulos -sivu.

Mobiilin kassa ilman mobiilia API-salaisuuksia

Swift ja Kotlin lähdeprojektit käyttävät mitä tahansa neljästä yleisestä taustaohjelmasta. Määritä sovelluksessa vain kauppias HTTPS-alkuperä. ON_SITE näyttää paikallisen kassan WKWebView- tai Android WebView -sovelluksessa; HPP avaa kauppiaan uudelleenohjausreitin ulkoisessa selaimessa. Sovellus tarkistaa taustan uudelleen, kun se on aktiivinen; sovelluksen sulkeminen ei koskaan lopeta palvelinilmoituksia.

Tallennettu pyyntötunnus säilyy ennallaan. Liitäntä ja kieli muuttuu uudelleen samassa järjestyksessä. Järjestyskoodi on erillinen MochiPay-tunnuksista; korvaa se sovelluksesi todennetulla käyttäjällä.

Nämä ovat integrointilähdedemoja, eivät alkuperäisiä maksuja SDK:ita tai sovelluskaupan hyväksyntöjä. Uudelleentarkastelu Applen laskutussäännöt sekä Google Play -maksukäytäntö tuotteen ja kohdealueen osalta.

Varmista ennen kuin menet suorana

Käytä jokaisen pakkauksen README ja TESTAUS.md. Paikalliset allekirjoitetut kalusteet kattavat retries, sitova yhteensopimattomuus, maksamattomat valtiot ja päällekkäiset ilmoitukset. Native Xcode/Android Studio -laitteen hyväksyminen ja pieni todellinen maksu vaativat vielä lavastetun validoinnin. Uusi MochiPay tietokanta taulukko tai plugin reinstall tarvitaan.

Synkronisten tuottojen ja asynkronisten ilmoitusten toteuttaminen →

Palautukset ja ilmoitukset

Toteuta HPP synkroniset palautukset, HPP asynkroniset ilmoitukset ja ON_SITE asynkroniset päivitykset yhdellä palvelinpuolen varmentajalla.

Kolme sisäänkäyntiä. Yksi tarkistettu tilauspäivitys.

VirtaAPI-kenttä / merkintäAihe
HPP-synkroninen paluuredirect_url · selain GETNäytä tulos allekirjoitetun palvelimen kyselyn jälkeen. Asiakas ei ehkä palaa.
HPP-asynkronointiilmoitusnotify_url · palvelin POSTTarkista ja päivitä paikallinen tilaus ilman selaimen käyttöä.
ON_SITE asynkroninen ilmoitusSama notify_url · palvelin POSTPäivitä paikallinen tilaus vaikka maksu ponnahdusikkuna tai sovellus olisi suljettu.
ON_SITE tilanäyttöSelain/app kyselyt kauppias/statusNäytä pienin tulos samasta taustaversiosta.

HPP: synkronoidun selaimen palautus

Kun luot maksun, tallenna redirect_url paikallisen tilauksen avulla. Esimerkki asettaa sen HTTPS-kauppiaallesi /complete?r=…&t=…. Isännöidyn kassan jälkeen selain palaa tähän. Lataa tallennettu paikallinen tilaus, vahvista sen omistajuus/kyky ja allekirjoita sitten kyselytilaus käyttämällä tallennettua MochiPay order_id.

Näytä PAID vasta sitovan ja tarkka vastaanotettu määrä läpäissyt. Muuten näytä odottaa tai tarkistaa. URL-tunnus, selainviesti tai kuvakaappaus ei ole todiste maksusta. Soita takaisin toimitus voi tapahtua ennen tätä selaimen vierailua tai sen jälkeen.

HPP ja ON_SITE: asynkroninen palvelinilmoitus

Tallenna notify_url luomisen aikana; esimerkeissä käytetään /callback?r=…&t=…. MochiPay lähettää tänne asiakkaan selaimesta riippumatta. Käsittele saapuvia kenttiä epäluotettavina hakuvinkkeinä. Tee kysely todennetusta API:sta ja vertaa tallennettua tunnusta, viitettä, alkuperäistä summaa/valuuttaa, omaisuutta/verkkoa, osoitetta ja tarkkaa maksettavaa summaa.

Vaadi PAID, positiiviset odotettu/vastaanotettu-summat ja joko tarkka yhtäläisyys tai tiukka Boolen manual_payment_accepted=true kyseisestä todennetusta kyselystä. Tallenna vahvistettu paikallinen maksu atomisesti kerran; toistuvat tarkistetut ilmoitukset palauttavat OK päivittämättä tai toimittamatta kahdesti. Vahvistamattomia tiloja, virheellisiä sidoksia ja ylävirran palvelu/tallennus-virheitä ei saa kuitata onnistuneiksi maksuiksi.

Demoissa on vain kerran käytössä oleva paid_verified-merkki. Korvaa se tapahtumalla omassa tilaustietokannassasi; se ei täytä tavaroita. Pelkästään takaisinsoittoteksti ei koskaan käynnistä tilauksen päivitystä.

ON_SITE: asynkroniset päivitykset ja ponnahdusikkunakyselyt

ON_SITE asettaa saman notify_url:n, joten maksun vahvistus jatkuu, kun ponnahdusikkuna sulkeutuu tai sovellus siirtyy offline-tilaan. Ponnahdusikkuna kysyy vain todennettua taustajärjestelmääsi 15-sekunnin välein, kun se on näkyvissä. Sen taustaohjelma kysyy MochiPay ja palauttaa pienen maksun DTO desimaalimerkkijonon summilla. PAID-näyttö käyttää samaa vahvistusta kuin takaisinsoitto; selaimeen ei tule API-salaisuutta tai täyttä asiakkaan vastausta.

ON_SITE/HPP:n sulkeminen, avaaminen tai muuttaminen käyttää uudelleen yhden tallennetun maksun. Säilytä request_id ja tarkka luomishyötykuorma aikakatkaisun jälkeen; viitteen muuttaminen voi luoda ei-toivotun lisätilauksen.

Jännitettävä koodi kaikissa taustapakkauksissa

Jokainen esimerkki sisältää molemmat esityshaarat, ilmoituskäsittelijän, paluusivun, turvallisen tilan päätepisteen ja kestävän vaiheistetun yrityksen. API-kentät ovat notify_url ja redirect_url; kassatila on paikallinen asetus, ei Luo tilaus -kenttä.

Node.js · tarkastus, palauttaminen ja ilmoittaminen

Otteita paketista. Reitin muuttujat ja varastointiapulaiset on määritelty kokonaislähteessä; liitä täydellinen integrointi näiden linjojen sijaan.

async function verify(r,t){const a=load(r);if(!equal(a.token,t)||!a.snapshot)throw Error('Invalid payment capability');const d=await api('/api/v1/orders/query','order_id='+encodeURIComponent(a.snapshot.order_id));bind(a,d);if(d.status==='PAID'&&!a.paid_verified){a.paid_verified=true;save(r,a)}return d}

// HPP redirect_url -> GET /complete: verify before displaying result.
await verify(r,t);
// notify_url -> POST /callback: same verification and atomic once-only marker.
const d=await verify(r,t);
output(res,d.status==='PAID'?200:409,'text/plain',d.status==='PAID'?'OK':'Payment not confirmed');
// ON_SITE polling -> GET /status: only the safe DTO reaches the browser.
json(res,200,{success:true,data:safe(await verify(r,t))});
Python · tarkastus, palautus ja ilmoitus

Otteita paketista. Reitin muuttujat ja varastointiapulaiset on määritelty kokonaislähteessä; liitä täydellinen integrointi näiden linjojen sijaan.

def verify(r, t):
    a = load(r)
    if not isinstance(t,str) or not hmac.compare_digest(a['token'],t) or not a.get('snapshot'): raise ValueError('Invalid capability')
    d = api('/api/v1/orders/query',urlencode({'order_id':a['snapshot']['order_id']})); bind(a,d)
    if d.get('status') == 'PAID' and not a['paid_verified']: a['paid_verified'] = True; save(r,a)
    return d

# HPP browser return
verify(r,t)
# HPP and ON_SITE server notification (inside the handler lock)
d = verify(r,t)
self.out(200 if d['status']=='PAID' else 409,'text/plain','OK' if d['status']=='PAID' else 'Payment not confirmed')
# ON_SITE display only
self.jout(200,dict(success=True,data=safe(verify(r,t))))
C# / .NET Puitteet · tarkastus, palauttaminen ja ilmoittaminen

Otteita paketista. Reitin muuttujat ja varastointiapulaiset on määritelty kokonaislähteessä; liitä täydellinen integrointi näiden linjojen sijaan.

        static JObject Verify(string r,string t)
        {
            var a=Load(r);if(!Equal(S(a,"token"),t)||a["snapshot"]==null)throw new Exception("Invalid capability");var d=Api("/api/v1/orders/query",null,"order_id="+Uri.EscapeDataString(S(a["snapshot"],"order_id")));Bind(a,d);
            if(S(d,"status")=="PAID"&&!(bool)a["paid_verified"]){a["paid_verified"]=true;Save(r,a);}return d;
        }

// GET /complete: verified HPP return.
Verify(r,t);
// POST /callback: asynchronous notification for both modes.
var d=Verify(r,t);
Out(res,S(d,"status")=="PAID"?200:409,"text/plain",S(d,"status")=="PAID"?"OK":"Payment not confirmed");
// GET /status: display only the minimal DTO.
JOut(res,200,new JObject {{"success",true},{"data",Safe(Verify(r,t))}});
Java · tarkastus, palautus ja ilmoitus

Otteita paketista. Reitin muuttujat ja varastointiapulaiset on määritelty kokonaislähteessä; liitä täydellinen integrointi näiden linjojen sijaan.

    static JsonObject verify(String r,String t)throws Exception{JsonObject a=load(r);if(!equal(s(a,"token"),t)||!a.has("snapshot"))throw new IllegalArgumentException("Invalid capability");JsonObject d=api("/api/v1/orders/query",null,"order_id="+enc(s(a.getAsJsonObject("snapshot"),"order_id")));bind(a,d);if(s(d,"status").equals("PAID")&&!a.get("paid_verified").getAsBoolean()){a.addProperty("paid_verified",true);save(r,a);}return d;}

// GET /complete: verified HPP return.
verify(r,t);
// POST /callback: both presentation modes use this route.
boolean paid=s(verify(r,t),"status").equals("PAID");
out(x,paid?200:409,"text/plain",paid?"OK":"Payment not confirmed");
// GET /status: minimal safe display DTO.
jout(x,200,object("success",true,"data",safe(verify(r,t))));
PHP · tarkastus, palautus ja ilmoitus

Otteita paketista. Reitin muuttujat ja varastointiapulaiset on määritelty kokonaislähteessä; liitä täydellinen integrointi näiden linjojen sijaan.

    // Authenticate the result by querying MochiPay server-to-server.
    $verified = mochipay_query_order('order_id', $orderId);
    if (!$verified['ok'] || !is_array($verified['data'])) {
        callback_text(503, 'VERIFICATION_FAILED');
    }

    $order = $verified['data'];
    if (!isset($order['order_id']) || !hash_equals((string) $order['order_id'], $orderId)) {
        callback_text(409, 'ORDER_MISMATCH');
    }

    $verifiedMerchantId = isset($order['merchant_order_id']) ? (string)$order['merchant_order_id'] : '';
    try { $record = mochipay_load($verifiedMerchantId); }
    catch (Exception $e) { callback_text(503, 'LOCAL_STORAGE_UNAVAILABLE'); }
    if (!mochipay_bound($record, $order) || (isset($callback['merchant_order_id']) && !hash_equals($verifiedMerchantId, (string)$callback['merchant_order_id']))) callback_text(409, 'LOCAL_ORDER_MISMATCH');
    if (!MochiPayPortable::paidAmountAccepted($order)) callback_text(409, 'PAYMENT_AMOUNT_REQUIRES_REVIEW');

    if (!isset($order['status']) || strtoupper((string) $order['status']) !== 'PAID') {
        callback_text(409, 'ORDER_NOT_PAID');
    }

    /*
     * TODO: In your production database, atomically fulfill the bound local order.
     * This demo acknowledges verification only; it does not deliver goods.
     * Make the operation idempotent: repeated callbacks must not deliver goods
     * or credit the customer more than once.
     */
    try { mochipay_record_verified($record, $order); }
    catch (Exception $e) { callback_text(503, 'LOCAL_UPDATE_FAILED'); }
    callback_text(200, 'OK');
}

// GET browser return verifies the saved capability, then queries the saved ID.
$authorized = $record && $returnToken !== '' && hash_equals($record['token'], $returnToken);
if ($authorized) {
    $verified = mochipay_query_order('order_id', $record['snapshot']['order_id']);
    $paid = $verified['ok'] && mochipay_record_verified($record, $verified['data']);
}
Lataa täydelliset esimerkit

Virhevastaukset

Virheet palauttavat HTTP- tilakoodin ja vakaan koneellisesti luettavan viestin.

JSON
{ "success": false, "message": "INVALID_SIGNATURE" }
HTTPViestiKuvaus
400INVALID_JSON / INVALID_AMOUNTPyyntötiedot ovat virheellisiä.
400CURRENCY_REQUIRED / CURRENCY_TOO_LONGPyyntötiedot ovat virheellisiä.
400INVALID_UNIQUE_AMOUNT_DIRECTION / INVALID_PRODUCT_TYPESuuntaa tai tuotetyyppiä ei tueta.
400FIELD_TOO_LONG / INVALID_REDIRECT_URL / INVALID_NOTIFY_URLValinnainen kenttä ylittää rajansa tai URL on virheellinen.
400ORDER_ID_REQUIRED / ORDER_IDENTIFIER_CONFLICTKyselyn tunniste puuttuu tai on ristiriitainen.
401INVALID_API_KEY / INVALID_SIGNATURETunnistautuminen epäonnistui.
403SUBSCRIPTION_REQUIRED / SUBSCRIPTION_EXPIREDKauppiasta ei voi tilata.
403MERCHANT_DISABLEDKauppatavaratili on pois käytöstä.
404ORDER_NOT_FOUNDVastaavaa kauppatavaraa ei löytynyt.
500SYSTEM_ERRORPyyntöä ei voitu täyttää.

Perinteinen SaaS-integraatio

Vain HPP-yhteensopivuus malleille Shopyy / Shopoem, Shoplus, Wooshoppaas ja Fecify. Lisäosien latausta tai SaaS-lähdekoodin vaihtoa ei vaadita.

Tapa 1: kiinteä valuutta ja verkko

Kun mukana on /{PaymentMethod}, asiakas siirtyy suoraan kyseisen valuutan ja verkon QR-maksusivulle.

POSThttps://mochi.bz/api/v/orders/legacy_create/YOUR_API_KEY/USDT_TRC20

Tapa 2: valitse kassalla

Asiakas valitsee maksun valuutan ja verkon palvelussa MochiPay ennen QR-koodin luomista.

POSThttps://mochi.bz/api/v/orders/legacy_create/YOUR_API_KEY

Molemmat tilat käyttävät samoja POST-parametreja, vastausmuotoa ja takaisinkutsujen kulkua.

Käytä API avain, ei koskaan API salaisuus, tässä URL.

Tuetut alustat

Shopyy / ShopoemSama yritys ja yhteensopiva porttimuoto
ShoplusMäärittele maksuliittymän URL
WooshoppaasMäärittele maksuliittymän URL
FecifyMäärittele maksuliittymän URL

Aseta

  1. Kopioi kauppias API avain MochiPay kojelauta.
  2. Liitä valmis URL SaaS-maksuväylän käyttöliittymään tai lähetä URL-asetus.
  3. Pidä SaaS-alustan nykyiset POST-parametrit, palauta URL ja ilmoita URL ennallaan.

URL-esimerkkejä

VÄKIVALTAISEN MAKSUN INTERFACEn verkko-osoite
https://mochi.bz/api/v/orders/legacy_create/YOUR_MERCHANT_API_KEY/USDT_TRC20

https://mochi.bz/api/v/orders/legacy_create/YOUR_MERCHANT_API_KEY/USDC_ERC20

https://mochi.bz/api/v/orders/legacy_create/YOUR_MERCHANT_API_KEY/SOL_SOLANA

https://mochi.bz/api/v/orders/legacy_create/YOUR_MERCHANT_API_KEY

Maksutavat

USDT_TRC20USDT mallilla TRON
USDC_ERC20USDC mallilla Ethereum
BTC_BITCOINAlkuperäinen BTC mallilla Bitcoin
ETH_ERC20Alkuperäinen ETH mallilla Ethereum
SOL_SOLANAAlkuperäinen SOL mallilla Solana
TRX_TRONNative TRX on Tron

Vaaditut perintökentät

ParametriAihe
merchant_urlAlkuperäinen SaaS-varaston arvo, joka on säilytetty täydellisessä diagnostiikan pyyntökirjauksessa.
system_nameOlemassa oleva SaaS-alustan tunniste, joka on säilytetty täydellisessä pyyntökirjauksessa.
account_type / payment_modeSäilytä alustan nykyiset arvot, yleensä live sekä sale.
orders_idAlkuperäinen SaaS-tilaustunniste.
amount / currencyAlkuperäisen tilauksen määrä ja valuutta.
return_urlAsiakas palauttaa URL jälkeen vahvistettu maksu.
notify_urlPalvelimen ilmoitus URL täytetyn maksun.
securityTokenValinnainen läpikulkukuponki palautettiin ennalleen.
productsValinnaiset tuote- tai ostoskorin tiedot.
customer_*Olemassa oleva asiakas, osoite, IP ja käyttäjäagentti kentät.

Luo tilausvastaus

Olemassa oleva SaaS-integraatio otteita isännöitiin kassan URL alkaen kolmiosainen yksinkertainen-teksti vastaus.

TEKSTI
_____https://mochi.bz/pay/ORDER_ID_____

Palauttamis- ja ilmoituskentät

KenttäArvo
securityTokenAlkuperäinen läpivientiarvo.
paymentMethodonlinepay
paymentStatusCompleted
paymentTransactionVahvistettu blockchain-kaupan hash.
paymentCommentsMochiPay payment confirmed
orderIDAlkuperäinen SaaS orders_id.

Verkkokaupan liitännäisen lataukset

Lisää MochiPay itsenäiseen myymälään alustakohtainen laajennus. Valitse alla oleva alusta ja versiohaara. Jokainen 19 latausta on riippumaton ZIP Englanti ohjeita ja PHP vaatimukset sisällä. Käytä PHP ympäristö sallitaan tarkka kaupan julkaisu.

ON-SITE + HPP

WooCommerce

Classic Checkout, Checkout Blocks ja HPOS.

AlustaWooCommerce 5.8 tai myöhemmin natiivi portti API
PHPPHP 7.4–8.4

Englanti asennusohjeet ja yksityiskohtainen PHP taulukko ovat tämän ZIP.

Lataa ZIPAseta opas →
ON-SITE + HPP

OpenCart 2.0–2.2

Varhaiset maksureitit ja versiokohtaiset mallireitit.

AlustaOpenCart 2.0.x-2.2.x
PHPPHP 5.6–7.4; uudempi PHP tarvitsee ydinkorjauksia

Englanti asennusohjeet ja yksityiskohtainen PHP taulukko ovat tämän ZIP.

Lataa ZIPAseta opas →
ON-SITE + HPP

OpenCart 2.3

Erillinen 2.3 laajennus-/maksurakenne.

AlustaOpenCart 2.3.x
PHPPHP 5.6–7.4; uudempi PHP tarvitsee ydinkorjauksia

Englanti asennusohjeet ja yksityiskohtainen PHP taulukko ovat tämän ZIP.

Lataa ZIPAseta opas →
ON-SITE + HPP

OpenCart 3

Twig näkymät ja natiivi OpenCart 3 maksuportaali.

AlustaOpenCart 3.0.x
PHPPHP 5,6–8,4; tarkat ydin/riippuvuusvaatimukset ovat voimassa

Englanti asennusohjeet ja yksityiskohtainen PHP taulukko ovat tämän ZIP.

Lataa ZIPAseta opas →
ON-SITE + HPP

OpenCart 4

Native 4.x nimiavaruudet, reitit ja laajennus pakkaus.

AlustaOpenCart 4.0.2.x-4.1.x
PHPPHP 8.0.2–8.4; 4.1.0.4 vaatii 8.1+

Englanti asennusohjeet ja yksityiskohtainen PHP taulukko ovat tämän ZIP.

Lataa ZIPAseta opas →
ON-SITE + HPP

Zen Cart 1.5.3–1.5.7

Legacy determination-based language files and native status settings.

AlustaZen Cart 1.5.3-1.5.7
PHPPHP 5.6–8.0, ydinversiosta riippuen

Englanti asennusohjeet ja yksityiskohtainen PHP taulukko ovat tämän ZIP.

Lataa ZIPAseta opas →
ON-SITE + HPP

Zen Cart 1.5.8–2.2

Moderni matriisipohjainen kielitiedostoja ja natiivi tila asetukset.

AlustaZen Cart 1.5.8 / 2.0.x / 2.1.x / 2.2.x
PHPPHP 7.3–8.4, ydinversiosta riippuen

Englanti asennusohjeet ja yksityiskohtainen PHP taulukko ovat tämän ZIP.

Lataa ZIPAseta opas →
ON-SITE + HPP

Magento 1 / OpenMage

Magento CE 1.9.3.0–1.9.4.5 ja yhteensopiva OpenMage 19/20.

AlustaMagento CE 1.9.3.0-1.9.4.5; OpenMage 19/20 natiivi M1 API
PHPPHP 5.6–8.4; PHP 8 vaatii yhteensopivan OpenMage-ytimen

Englanti asennusohjeet ja yksityiskohtainen PHP taulukko ovat tämän ZIP.

Lataa ZIPAseta opas →
ON-SITE + HPP

Magento 2

Magento Avoimen lähdekoodin 2.3.7–2.4.8 alkuperäisellä kassalla.

AlustaMagento Open Source 2.3.7-2.4.8 käyttäen natiivia kassaa
PHPPHP 7.3–8.4, ydinversiosta riippuen

Englanti asennusohjeet ja yksityiskohtainen PHP taulukko ovat tämän ZIP.

Lataa ZIPAseta opas →
ON-SITE + HPP

PrestaShop 1.6

PrestaShop 1.6.1 maksu koukku ja toimittaa lomake.

AlustaPrestaShop 1.6.1.x
PHPPHP 5.6–7.1

Englanti asennusohjeet ja yksityiskohtainen PHP taulukko ovat tämän ZIP.

Lataa ZIPAseta opas →
ON-SITE + HPP

PrestaShop 1.7 / 8 / 9

Maksuvaihtoehdot PrestaShop 1.7.6–1.7.8, 8.x ja 9.0.x.

AlustaPrestaShop 1.7.6-1.7.8 / 8.x / 9.0.x
PHPPHP 5.6–8.4, ydinversiosta riippuen

Englanti asennusohjeet ja yksityiskohtainen PHP taulukko ovat tämän ZIP.

Lataa ZIPAseta opas →
ON-SITE + HPP

Shopware 6.6

Shopware 6.6 ja 6.7.

AlustaShopware >=6.6.10.0 <6.7.0.0
PHPPHP 8.2.x / 8.3.x / 8.4.x

Englanti asennusohjeet ja yksityiskohtainen PHP taulukko ovat tämän ZIP.

Lataa ZIPAseta opas →
ON-SITE + HPP

Shopware 6.7

Shopware 6.6 ja 6.7.

AlustaShopware >=6.7.0.0 <6.8.0.0
PHPPHP 8.2.x / 8.3.x / 8.4.x

Englanti asennusohjeet ja yksityiskohtainen PHP taulukko ovat tämän ZIP.

Lataa ZIPAseta opas →
ON-SITE + HPP

Drupal Commerce

Native Commerce maksuväylä tuetuille Drupal ja Commerce sivuliikkeille.

AlustaKaupankäynti 2.40.x kanssa Drupal 9.3–10.x; tai Commerce 3.3.10+ <3.4 ja Drupal 10.3–11.x
PHPDrupal 9.3–9.5: PHP 7.4–8.1; Drupal 10: PHP 8.1–8.3; Drupal 11: PHP 8.3–8.4, vain silloin, kun tarkka Drupal-julkaisu sallii

Englanti asennusohjeet ja yksityiskohtainen PHP taulukko ovat tämän ZIP.

Lataa ZIPAseta opas →
ON-SITE + HPP

EC-CUBE 4.3

Native JPY kassa EC-CUBE ostovirta.

AlustaEC-CUBE >=4.3.0 <4.4.0
PHPPHP 8.1.x / 8.2.x / 8.3.x

Englanti asennusohjeet ja yksityiskohtainen PHP taulukko ovat tämän ZIP.

Lataa ZIPAseta opas →
ON-SITE + HPP

Bagisto 2.3

Laravel paketti natiivi tilauksia ja laskun käsittely.

AlustaBagisto >=2.3.0 <2.4.0
PHPPHP 8.2.x / 8.3.x / 8.4.x (täytä myös varaston huoltolukko)

Englanti asennusohjeet ja yksityiskohtainen PHP taulukko ovat tämän ZIP.

Lataa ZIPAseta opas →
ON-SITE + HPP

Sylius 2.0

Native Payum kassalla ja Sylius maksu valtion kone.

AlustaSylius >=2.0.0 <2.1.0 ja PayumBundle 2.6+ / Payum 1.7 -yhteensopiva ydin
PHPPHP 8.2.x / 8.3.x / 8.4.x (täytä myös varaston huoltolukko)

Englanti asennusohjeet ja yksityiskohtainen PHP taulukko ovat tämän ZIP.

Lataa ZIPAseta opas →
ON-SITE + HPP

osCommerce 4.14

Native V4 maksumoduuli; erillinen vanha osCommerce 2.x ja 3.x.

AlustaosCommerce 4.14.x; natiivi V4 tilausMaksumoduuli API
PHPPHP 7.4.x–8.3.x, edellyttäen, että asennettu osCommerce-vapautus- ja riippuvuuslukko

Englanti asennusohjeet ja yksityiskohtainen PHP taulukko ovat tämän ZIP.

Lataa ZIPAseta opas →
ON-SITE + HPP

thirty bees 1.6

Alkuperäinen maksumoduuli ja tilaushistoria mallille thirty bees 1.6.

Alustathirty bees >=1.6.0 <1.7.0
PHPPHP 7.4.x / 8.0.x / 8.1.x / 8.2.x / 8.3.x; käytä vastaavaa thirty bees-jakaumaa

Englanti asennusohjeet ja yksityiskohtainen PHP taulukko ovat tämän ZIP.

Lataa ZIPAseta opas →

Uudet adapterit ovat alkuperäisiä integraatiorakennuksia. Täydellinen asennus ja todellinen maksu hyväksyminen omassa pysähdysmyymälässä ennen mahdollistamista elävän liikenteen.

Aloita rakentaminen MochiPay:lla

Luo MochiPay tili ja valitse integraatiomenetelmä, joka sopii maksu työnkulkuun.

Aloita