개발자 자원

API 개발

API 참조, 배경 및 모바일 예제, 지불 반환 및 한 곳에 통보. PHPNode.js에 해당되는 글 1건 PythonC#에 대한 의견 Java, iOS Swift 그리고 Android Kotlin 지원 ON_SITE 그리고 HPP.

나머지 API · 결제 프레젠테이션

하나의 결제 주문에서 ON_SITE 또는 HPP를 선택하세요.

서버에서 주문을 만들고, 현지 주문에 의한 의무를 저장하고, 고객이 지불을 어떻게 보는지 선택합니다. order_id.

보기 HPP 동기화된 반환 및 ON_SITE/HPP Asynchronous 통보 처리와 함께, PHPNode.js에 해당되는 글 1건 PythonC# 및 Java 코드 입니다

ON_SITE

자사 결제 화면 안의 결제 창

정확한 금액, 주소, 네트워크 및 QR 자신의 도메인에서 대화에서.당신의 backend 질문 MochiPay 그리고 안전한 지불 전망을 반환합니다.

삽입된 HTML+를 참조하세요 PHP →
HPP

MochiPay 결제 화면으로 이동

귀하의 서버는 고객을 리디렉션합니다. payment_url지불 후, 확인 반환 또는 통보를 통해 인증된 요청 주문.

보세요 The PHP 리디렉션 →

아래의 출처는 checkout.php에서 나와서 도움말을 묶어 PHP 데모 1.1.4 (PHP 7.0–8.4먼저 order.php를 사용하여 주문을 만드십시오; 그 결과는 두 가지 예제에 대한 링크를 제공합니다. 생산 매장은 세션/데이터베이스에서 권한을 부여받은 지역 주문을 해결하고 동일한 거래를 통해 완료해야합니다.

서버 검증 후 다시 이동

HPP · PHP

저장된 주문 링크 및 목적지를 확인한 다음 페이지 출력 전에 위치 헤더를 보내십시오.

checkout.php · HPP branch
// 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.

완전한 파일은 저장 시도를 업로드하고 토큰, 진정한 쿼리 및 예상되는 것을 확인합니다. payment_url 이 부문 앞에서

자신의 페이지에 대화를 삽입

ON_SITE · PHP + HTML

Include the local dialog assets in your checkout HTML. The browser talks to your local poll endpoint; it never signs requests or receives API credentials.

checkout.php · local dialog assets
// 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>

onsite.js opens the dialog over your existing page. Closing it leaves checkout visible; the Open payment dialog button reopens the same payment.

귀하의 후원자는 주문을 확인합니다.

저장된 참조/토켄을 승인, 저장된 사람에 의해 요청 MochiPay order_id, 그리고 원래 금액/전화, 자산/네트워크, 주소 및 정확한 지불 금액을 비교합니다.

order.php · local polling endpoint
// 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.

The full demo additionally verifies the received amount for PAID. callback.php verifies notifications and browser returns. A screenshot, redirect or browser flag is never proof of payment.

정체성

각각의 API 요청은 상인에게 포함되어야 합니다. API 열쇠와 기초64- 암호화된 HMAC-SHA256 서명에 대하여

헤더필수설명
X-Mochi-Key예 예당신의 상인 API 열쇠 입니다
X-Mochi-Signature예 예기초64- 암호화된 HMAC-SHA256 서명에 대하여
Content-Type포스트 요청application/json
당신을 유지하라 API 서버에 있는 비밀 브라우저에서 결코 표시하지 마십시오. JavaScript모바일 앱 또는 공공 소스 코드.

서명

명령을 만들려면 정확한 원료를 입력합니다. JSON 쿼리 주문을 위해, 원료 쿼리 라인에 서명하지 않고 리더 ?.

SIGNATURE FORMULA
Base64(HMAC-SHA256(UTF8(signing_text), UTF8(api_secret)))

지원되는 통화

지불 방법은 지불에 사용되는 암호화폐 및 블록체인 네트워크를 선택합니다.

순서 흐름

28 지원된 피아트 통화

이러한 정확한 ISO 코드 중 하나를 사용하여 currency 필드에 대한

USDEURGBPCAD AUDNZDJPYCNY HKDSGDCHFSEK NOKDKKPLNCZK HUFAEDSARINR IDRTHBMYRPHP KRWBRLMXNZAR
CRYPTO ORDER CURRENCIES

암호화폐currency 가격

주문은 또한 이러한 cryptocurrencies에서 직접 가격 될 수 있습니다.

USDTUSDCBTCETHSOL
지불 방법

지원되는 암호화폐 및 네트워크 조합

이러한 정확한 값 중 하나를 입력하여 payment_method 필드에 대한

USDT_TRC20USDT 에 TRON
USDC_ERC20USDC 에테리움에 대하여
BTC_BITCOIN원주민 BTC 비트코인에 대하여
ETH_ERC20원주민 ETH 에테리움에 대하여
SOL_SOLANA원주민 SOL 솔라나에 대하여
변환 규칙 : 주문 통화와 지불 자산이 동일한 경우, MochiPay 사용율을 사용하여 1 그렇지 않으면, 저장된 교환율과 상인 마크업은 주문이 생성되면 적용됩니다. 현재 참조 교환율 보기 →
주문값결제 방법결과
49.90 USDUSDT_TRC20저장된 것을 사용하여 USD → USDT 가격 및 상인 마크.
100 EURBTC_BITCOIN저장된 EUR를 사용하여 BTC 가격 및 상인 마크.
25 USDCUSDC_ERC20변환이 없습니다.환율은 1.

주문 만들기

호스팅된 지불 URL과 현장 인터페이스에 필요한 지불 지침을 사용하여 지불 명령을 만드십시오.

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

요구 사항 Parameters

주문 통화와 지불 방법은 다른 개념입니다. amount 그리고 currency 상인의 원래 주문값을 정의합니다. payment_method 고객이 지불하는 암호화폐 및 블록체인 네트워크를 정의합니다.예를 들어, 49.90 USD 와 함께 USDT_TRC20 즉, A USD- 명령된 주문은 계산된 금액으로 지불됩니다. USDT 그 위에 TRON 네트워크

WEB82.3: authenticated create/query JSON advertises recovery_contract=merchant-reference-v1. Query an uncertain legacy reference first. Only 404 ORDER_NOT_FOUND with this contract allows replay of its unchanged reference/payload. Query errors and older servers do not authorize blind creation. Conflicting financial fields return MERCHANT_ORDER_ID_CONFLICT; historical duplicates return MERCHANT_ORDER_ID_AMBIGUOUS. Deploy the website API before the recovery plugins.

파라미터필수종류 / 길이설명
merchant_order_id예 예스트리트 · 1–100One unique, case-sensitive reference per purchase. On WEB82.3, repeating the same reference and financial fields reuses its unique invoice. A genuinely new purchase uses a different reference, even for the same buyer and amount. Optional request_id additionally binds the full creation payload.
amount예 예십일조(28,8)Positive original order amount. Fiat normally uses 2 decimal places; supported cryptocurrencies may use up to 8.
currency예 예스트리트 · 1–20원래 주문 통화 코드. 그것은 fiat, 예를 들어 USD 또는 EUR또는 cryptocurrency, 예를 들어, USDT 또는 USDC.
payment_method예 예자산 ≤20 + 네트워크 ≤30지불 cryptocurrency 및 blockchain 네트워크에서 ASSET_NETWORK 형식으로, 예를 들어 USDT_TRC20 또는 USDC_ERC20.
unique_amount_direction아니오UP 또는 DOWN방향은 작은 독특한 양 조정에 사용됩니다. UP.
product_type아니오PHYSICAL 또는 DIGITAL_SERVICE결제에 표시된 주문 유형. 결함 DIGITAL_SERVICE배송 필드는 두 유형 모두 선택적입니다.
description아니오스트리트 · 0–500인간 읽을 수 있는 명령 설명
product_info아니오JSON/string · nvarchar(max)에 대한 자세한 내용제품, 카트 또는 사용자 지정 메타 데이터. HTTP 요청 기관은 초과해서는 안됩니다. 65,536 바이트에 대하여
customer_email아니오스트리트 · 0–255고객 이메일 주소: 제공되면 유효한 이메일 주소가 되어야 합니다.
customer_phone아니오스트리트 · 0–50고객 전화 번호
first_name아니오스트리트 · 0–100고객의 첫 번째 이름
last_name아니오스트리트 · 0–100고객의 마지막 이름
company아니오스트리트 · 0–200고객 회사 또는 조직 이름.
country아니오스트리트 · 0–100고객 국가 또는 지역.
state아니오스트리트 · 0–100고객 국가, 지방 또는 지역.
city아니오스트리트 · 0–100고객 도시
address1아니오스트리트 · 0–500고객의 주요 주소 라인
address2아니오스트리트 · 0–500추가 고객 주소 라인
postal_code아니오스트리트 · 0–30고객 우편 또는 ZIP 코드 입니다
request_id아니오스트리트 · 1–64옵션 리트리 키, 귀하의 상인에게 전달됩니다. JSON 신체. 같은 열쇠와 지불로드를 다시 사용한 후에 시간을 꺼낸다. DEDUPLICATION 요청.
notify_url아니오스트리트 · 0–1000절대적 http:// 또는 https:// asynchronous server notification URL. Only public destinations are allowed; localhost, private/reserved IPs and redirects are blocked.
redirect_url아니오스트리트 · 0–1000성공적인 지불 후 사용된 절대 고객 반환 URL.
customer_ip아니오IPV4/ IPV6 · 0–45고객 IP는 상인에 의해 제공됩니다. MochiPay 또한 기록은 API IP를 별도로 요청합니다.

예를 요청

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# · 주문을 만들기
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 · 명령 만들기
<?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 => false,
    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.');
}
?>

성공적인 응답

필드종류 / 길이설명
success폴란드창조가 성공할 때 진실이다.
order_id스트리트 · 32MochiPay 시스템 인증서.이것을 현지 주문으로 저장합니다.
merchant_order_id⁇ ⁇ ⁇100당신의 원래 상인 참조.
product_type⁇ ⁇ ⁇20물리적 또는 DIGITAL_SERVICE.
status⁇ ⁇ ⁇20현재 지불 상태
amount십일조(28,8)Original order amount; preserve decimal precision.
currency⁇ ⁇ ⁇20원래 가격 통화
base_pay_amount십일조(28,8)독특한 조정 전에 변환 된 금액.
unique_amount_delta십일조(28,8)서명된 적응 조정
unique_amount_direction⁇ ⁇ ⁇10위 또는 아래로
pay_amount십일조(28,8)정확한 쇠사슬 수를 표시하고 전송합니다.
payment_method스트리트선택된 자산/네트워크, 예를 들어 USDT_TRC20.
payment_address⁇ ⁇ ⁇255이 지불 및 네트워크에 대한 주소를 수신합니다.
payment_url링크 · URLHPP URL.On-site는 동일한 주문 지침을 사용합니다.
expires_at날짜 시간YYY-MM-dd HH:mm:ss 형식의 종료.
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"
}

원하는 명령

정확한 하나의 주문 식별자를 사용하여 인증된 상인이 소유 한 주문을 복구합니다.

GET https://mochi.bz/api/v1/orders/query
쿼리 파라미터필수종류 / 길이설명
order_id하나의 두스트리트 · 32MochiPay 명령의 정의
merchant_order_id하나의 두스트리트 · 1–100귀하의 상인 주문 식별자.그것이 다시 사용되면, 최신 일치 주문이 반환됩니다.
사용하기 order_id once stored. After an uncertain Create response, query the same unique merchant reference before deciding what happened; on WEB82.3, its merchant-reference-v1 contract permits safe recovery with the same purchase reference and financial fields. Only authenticated404 ORDER_NOT_FOUND with this contract authorizes legacy replay; older servers and query errors do not. Send only one identifier. Sign the exact raw query string, for example merchant_order_id=ORDER-20260919-001.

쿼리 예제

C# · 원하는 주문
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 · 주문하기
<?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 => false,
    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.');
}
?>

성공 응답 필드

질문이 돌아온다 wallet_type 그리고 network separately; Create Order returns their combined payment_method현지 주문에 저장된 방법과 비교하십시오.필요한 지불 필드만 고객 브라우저로 반환합니다.

필드종류 / 길이설명
order_id스트리트 · 32MochiPay 명령의 정의
merchant_order_id⁇ ⁇ ⁇100귀하의 상인 주문을 확인합니다.
source⁇ ⁇ ⁇20명령 출처, 예를 들어 API.
description⁇ ⁇ ⁇500명령 설명
product_type⁇ ⁇ ⁇20PHYSICAL 또는 DIGITAL_SERVICE.
product_infoJSON/ 스트링 / 0주문이 생성되었을 때 제공된 제품 또는 카트 정보.
status⁇ ⁇ ⁇20전체 주문 지불 상태.
merchant_status⁇ ⁇ ⁇50상인에 대한 주문 상태.
amount십일조(28,8)원래 주문 금액
currency⁇ ⁇ ⁇20원래 주문 통화, 예를 들어 USD, EUR, USDT 또는 USDC.
base_pay_amount십일조(28,8)전환된 지불 금액은 유일한 일치 조정 전에.
unique_amount_delta십일조(28,8)작은 서명 된 금액은 기본 금액에 추가되거나 추출됩니다.
unique_amount_direction⁇ ⁇ ⁇10UP 또는 DOWN.
pay_amount십일조(28,8)고객이 지불해야 할 정확한 크립트 통화 금액.
received_amount십일조(28,8)지금까지 수입된 크립트 통화 금액.
exchange_rate십일조(38,18)주문이 생성되었을 때 사용되는 교환율 스냅샷.
rate_markup_percent십일조(9,4)주문을 위해 사용된 상인 가격 표시 스냅샷.
wallet_type⁇ ⁇ ⁇20지불 자산 : USDT, USDC, BTC, ETH 또는 SOL.
network⁇ ⁇ ⁇30블록체인 네트워크, 예를 들어 TRC20 또는 ERC20.
payment_address⁇ ⁇ ⁇255이 주문을 위해 선택한 주소를 받는 상인.
tx_hash⁇ / ⁇ ⁇255고객 지불 거래 해시를 발견했습니다.
confirmations전체현재 블록체인 확인 계산.
customer_email … postal_code링크 / null선택적 고객 및 주문 창출시 공급되는 배송 필드.
payment_url링크 · URLHPP checkout URL; on-site integrations query the same order for status and payment instructions.
expires_at날짜 시간순서 종료 시간.
paid_at날짜 / 0지불 완료 시간.
created_at날짜 시간창조 시간을 주문합니다.
updated_at날짜 시간마지막 주문 업데이트 시간.

코드 예제

PHPNode.js에 해당되는 글 1건 PythonC# / .NET 프레임 워크 Java, iOS Swift 그리고 Android Kotlin1 개의 저장된 지불 지원 ON_SITE 그리고 HPP.

PHP SDK 에 Packagist

설치를 위한 PHP SDK 와 함께 Composer.

귀하의 지불 명령을 만들고 요청하십시오. PHP ⁇ ⁇ - ⁇ API 서버에 있는 인증서입니다.

v1.0.0 · PHP 7.4+ · MIT

composer require mochipay/php-sdk:^1.0

무료 다운로드. 라이브 지불에 대한 구독.

구독 계획 보기

귀하의 응용 프로그램에 대한 출처 패키지를 선택하십시오.

1 현재 ZIP 언어 또는 모바일 플랫폼에 따라 영어 설정 지침이 포함됩니다.Native Store 플러그인은 별도로 남아 있으며 기존 통합은 계속 작동합니다.

데모 서버 ON_SITE + HPP

PHP

7.0–8.4

원본 PHP 경로: order.php, checkout.php 및 callback.php

ZIP 다운로드
데모 서버 ON_SITE + HPP

Node.js

22+

일반 모바일/backend 경로

ZIP 다운로드
데모 서버 ON_SITE + HPP

Python

3.10+

일반 모바일/backend 경로

ZIP 다운로드
데모 서버 ON_SITE + HPP

C# / .NET 프레임워크

4.6.1 / VS2019

일반 모바일/backend 경로

ZIP 다운로드
데모 서버 ON_SITE + HPP

Java

JDK17+

일반 모바일/backend 경로

ZIP 다운로드
모바일 소스 · ON_SITE + HPP

iOS Swift

iOS15+ / Xcode14+

하나의 공통 후원 링크를 사용하십시오; 소스 프로젝트만 사용하십시오.

ZIP 다운로드
모바일 소스 · ON_SITE + HPP

Android Kotlin

API26+ / SDK35 / JDK17

하나의 공통 후원 링크를 사용하십시오; 소스 프로젝트만 사용하십시오.

ZIP 다운로드

완전한 Backend Flow를 실행합니다.

  1. 개인 설정 MochiPay 인증서, 활성 지갑, 대중 HTTPS callback 원산지와 독립적 인 스테이지 액세스 토큰. 서버는 데모 가격을 소유하고; 브라우저는 그것을 대체 할 수 없습니다.
  2. 동일한 저장된 것을 사용하여 만들거나 복구 request_id 변함없는 지불 부하. 정확한 UTF-8 요청 바이트 및 암호화된 요청 스트립은 HMAC-SHA입니다.256 서명한 것
  3. 구원받은 자를 열어라 ON_SITE 팝업 또는 HPP 지불 명령: 두 사람 모두 하나의 지불 명단을 사용합니다. ON_SITE 포함 QR, 복사 컨트롤 및 10 언어 선택기.
  4. 프로세스 notify_url 서버에서 저장된 ID를 다시 요청합니다.동기 반환 및 쿼리 경로는 동일한 의무/정확한 확인을 다시 사용합니다.
  5. 한 번 확인된 지불 상태를 기록하십시오.제작 전에 스케치 파일 스토어와 마커를 응용 프로그램의 진정 소유권 및 원자 데이터베이스 주문 업데이트로 대체하십시오.

PHP 그것의 원래 order.php / checkout.php / callback.php 흐름을 유지합니다. 4 개의 새로운 후원 링크는 브라우저 및 모바일 클라이언트에 대한 아래의 일반적인 경로를 보여줍니다.

경로책임감
포스트 / 지불서버 가격 항목을 만들거나 복구; request_id 그리고 payment_method⁇ ⁇ 은 ⁇ 을 ⁇ 다.
GET /checkout?r=…&t=…&mode=ON_SITE저장 주문 상인-지방 지불 팝업.
GET /checkout?…&mode=HPP303 의무 및 목적지 인증 후 리디렉션.
GET /status?r=…&t=…서명 upstream query; 최소 십일조 지불 DTO.
POST /callback?r=…&t=…비동기 검사 및 한 번만 지불 마커.
GET /complete?r=…&t=…확인된 동기 반환/결과 페이지.

휴대용 결제 없이 휴대용 API 비밀

Swift 그리고 Kotlin 출처 프로젝트는 일반적인 4 개의 지원 지점 중 하나를 사용합니다. HTTPS App에서 출처를 찾습니다. ON_SITE WKWebView에서 현지 결제을 표시하거나 Android WebView에 대한 정보 HPP 외부 브라우저에서 상인의 리디렉션 경로를 열어줍니다.이 앱은 활성화되면 다시 배경을 확인합니다.이 앱을 닫으면 서버 알림이 결코 중지되지 않습니다.

저장된 요청 ID는 리트리 / 리트리트를 생존합니다. 인터페이스 및 언어 변경은 동일한 명령을 다시 사용합니다. MochiPay 인증서; 응용 프로그램의 인증된 사용자 세션으로 대체합니다.

이것은 통합 소스 데모, 원주민 지불 SDK 또는 앱 스토어 승인이 아닙니다. 애플 계산 규칙 그리고 Google Play 지불 정책 제품 및 대상 지역에 대 한.

살아있기 전에 확인해 보세요.

각 패키지의 README 및 TESTING.md를 사용합니다.Local signed fixtures cover retries, binding mismatches, unpaid states and duplicate notifications.Android 스튜디오 장치 수락 및 작은 실제 지불은 여전히 당신의 스테이션 인증이 필요합니다. MochiPay 데이터베이스 테이블 또는 플러그인 재설치가 필요합니다.

실행 동기 반환 및 비 동기 통지 →

반환 및 알림

실행 HPP 동기화 된 반환, HPP 비동기 통지 및 ON_SITE 동기화된 업데이트는 한 서버 측 검사기와 함께 합니다.

3 개의 입력 포인트. 1 개의 확인된 주문 업데이트.

흐름API 필드 / 입장목적
HPP 동기화된 반환redirect_url · 브라우저가 되기서버 요청에 서명한 후 결과를 표시합니다.고객은 결코 돌아오지 않을 수 있습니다.
HPP Asynchronous 통보notify_url · 서버 포스트브라우저에 의존하지 않고 현지 주문을 확인하고 업데이트합니다.
ON_SITE Asynchronous 통보동일한 notify_url · 서버 포스트현지 주문을 업데이트하십시오, 심지어 지불 팝업 또는 앱이 폐쇄되면.
ON_SITE 상태 표시브라우저 / 앱 설문 조사 상인 / 상태동일한 후속 검사에서 최소한의 결과를 표시합니다.

HPP: 동기화 브라우저 반환

지불을 할 때, 저장 redirect_url 현지 순서의 능력과 함께.이 예제는 당신의 HTTPS 상인 /complete?r=...&t=.... 호스팅 체크 후 브라우저가 여기로 돌아갑니다. 저장된 지역 주문을 업로드하고 소유권/능력을 확인하고 저장된 주문을 사용하여 Query 주문을 입력합니다. MochiPay order_id.

PAID 표시 후에만 의무적이고 정확하게 받은 금액이 통과됩니다.그렇지 않으면 기다리거나 검토합니다.URL 깃발, 브라우저 메시지 또는 스크린 샷은 지불 증거가 아닙니다.이 브라우저 방문 전이나 후에 전화 반환 배달이 발생할 수 있습니다.

HPP 그리고 ON_SITE: asynchronous 서버 알림

저장 notify_url 창조 기간 동안; 예를 사용 /callback?r=...&t=.... MochiPay 고객의 브라우저에서 독립적으로 여기에 게시됩니다. 신뢰할 수없는 검색 힌트로 들어오는 필드를 처리합니다. API 저장된 ID, 참조, 원래 금액/통화, 자산/네트워크, 주소 및 정확한 지불 금액을 비교합니다.

지불이 필요하며 received_amount 정확히 동일한 pay_amount원자로 한 번 확인된 현지 지불을 기록; 반복된 확인된 통지 사항은 업데이트 또는 배달 없이 OK로 반환됩니다. 확인되지 않은 상태, 불법 묶음 및 upstream / 스토리지 실패는 성공적인 지불으로 인식되어서는 안됩니다.

드라마는 한 번만 지속된다. paid_verified 마커. 자신의 주문 데이터베이스에 거래로 대체; 그것은 상품을 충족하지 않습니다. 호출 반환 기관 자체는 결코 주문 업데이트를 시작하지 않습니다.

ON_SITE: asynchronous 업데이트 및 popup 설문 조사

ON_SITE 똑같은 세트 notify_url, 그래서 지불 확인은 팝업이 닫히거나 앱이 오프라인으로 이동할 때 계속됩니다. 팝업은 귀하의 진정한 백업을 검색합니다.15-두 번째 간격은 눈에 띄는 동안.그것의 후속 질문 MochiPay 그리고 십일조 스트링 금액으로 작은 지불 DTO를 반환합니다. PAID 디스플레이는 전화 반환과 동일한 검증기를 사용합니다. API 비밀 또는 전체 고객 응답은 브라우저에 들어갑니다.

닫기, 다시 열기 또는 변경 ON_SITE/HPP 다시 한 번 저장된 지불.Retain request_id 그리고 정확한 창조 부하 시간 퇴근 후; 참조를 변경하면 원치 않는 추가 주문을 만들 수 있습니다.

각 배경 패키지에서 실행 가능한 코드

각 예제에는 프레젠테이션 지점, 알림 거래자, 반환 페이지, 안전한 상태 끝점 및 지속적인 단계 시도가 포함됩니다. API 필드는 notify_url 그리고 redirect_url; 결제 모드는 현지 선호도가 아니라 Create Order 필드입니다.

Node.js · 확인, 반환 및 통지

경로 변수와 저장 도우미는 전체 출처에 정의되며, 이 라인들 외에 전체 통합을 붙여 넣습니다.

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 · 확인, 반환 및 통지

경로 변수와 저장 도우미는 전체 출처에 정의되며, 이 라인들 외에 전체 통합을 붙여 넣습니다.

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 프레임 워크 · 확인, 반환 및 통보

경로 변수와 저장 도우미는 전체 출처에 정의되며, 이 라인들 외에 전체 통합을 붙여 넣습니다.

        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 · 확인, 반환 및 통지

경로 변수와 저장 도우미는 전체 출처에 정의되며, 이 라인들 외에 전체 통합을 붙여 넣습니다.

    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 · 확인, 반환 및 통지

경로 변수와 저장 도우미는 전체 출처에 정의되며, 이 라인들 외에 전체 통합을 붙여 넣습니다.

    // 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 (!isset($order['received_amount']) || MochiPayPortable::decimal($order['received_amount']) !== MochiPayPortable::decimal($order['pay_amount'])) 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']);
}
완전한 예를 다운로드

오류 응답

오류가 반환되며 HTTP 상태 코드와 안정적인 기계 읽기 메시지.

JSON
{ "success": false, "message": "INVALID_SIGNATURE" }
HTTP메시지설명
400INVALID_JSON / INVALID_AMOUNT요청 데이터는 무효입니다.
400INVALID_CURRENCY / INVALID_PAYMENT_METHOD통화 또는 지불 방법은 지원되지 않습니다.
400INVALID_UNIQUE_AMOUNT_DIRECTION / INVALID_PRODUCT_TYPE방향 또는 제품 유형 값은 지원되지 않습니다.
400FIELD_TOO_LONG / INVALID_REDIRECT_URL / INVALID_NOTIFY_URL선택적 필드는 그 한도를 초과하거나 제공된 URL은 무효입니다.
400ORDER_ID_REQUIRED / ORDER_IDENTIFIER_CONFLICTQuery ID는 실종되거나 갈등이 발생합니다.
401INVALID_API_KEY / INVALID_SIGNATURE정체화가 실패했다.
403SUBSCRIPTION_REQUIRED / SUBSCRIPTION_EXPIRED상인 구독은 사용할 수 없습니다.
403MERCHANT_DISABLED판매자 계정이 취소되었습니다.
404ORDER_NOT_FOUND상인 소유 주문이 발견되지 않았습니다.
500SYSTEM_ERROR요청은 완료될 수 없었다.

Legacy SaaS 스토어 통합

HPP-Shopyy / Shopoem, Shoplus, Wooshoppaas 및 Fecify에 대한 유일한 호환성. 플러그인 다운로드 또는 SaaS 소스 코드 변경이 필요하지 않습니다.

POST https://mochi.bz/api/v/orders/legacy_create/{MerchantApiKey}/{PaymentMethod}
사용하시기 바랍니다 API 열쇠, 결코 API 이 URL에서 비밀. URL은 거래자와 지불 방법을 식별합니다.SaaS 플랫폼은 기존을 계속 보내고 있습니다. application/x-www-form-urlencoded 주문 필드

지원된 플랫폼

Shopyy / Shopoem동일한 회사 및 호환되는 게이트웨이 형식
Shoplus지불 인터페이스 URL 설정
Wooshoppaas지불 인터페이스 URL 설정
Fecify지불 인터페이스 URL 설정

설정

  1. 상인 복사본 API 열쇠는 The MochiPay 상인 다이어트
  2. 이 SaaS 지불 옵션에 대한 지원된 지불 방법 중 하나를 선택합니다.
  3. 교체하기 {MerchantApiKey} 그리고 {PaymentMethod} 최종 URL에 해당되는 글 1건
  4. 완료된 URL을 SaaS 지불 포트웨이의 인터페이스에 넣거나 URL 설정을 제출합니다.
  5. SaaS 플랫폼의 기존 POST 매개 변수를 유지하고, URL을 반환하고 URL을 변경되지 않도록 통보합니다.

URL 예제

지불 인터페이스 URL
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

지불 방법

USDT_TRC20USDT 에 TRON
USDC_ERC20USDC 에테리움에 대하여
BTC_BITCOIN원주민 BTC 비트코인에 대하여
ETH_ERC20원주민 ETH 에테리움에 대하여
SOL_SOLANA원주민 SOL 솔라나에 대하여

필요한 유산 영역

파라미터목적
merchant_url원래 SaaS 스토어 가치, 진단을위한 전체 요청 기록에 보관.
system_name기존 SaaS 플랫폼 식별자, 전체 요청 기록에 보관.
account_type / payment_mode플랫폼의 기존 가치를 유지하십시오, 정상적으로 live 그리고 sale.
orders_id원래 사우스 명령 식별자.
amount / currency원래 주문 금액 및 통화.
return_url고객은 지불 확인 후 URL을 반환합니다.
notify_url완료된 지불을 위한 서버 알림 URL.
securityToken옵션 패스트로우 토큰은 변함없이 돌아 왔습니다.
products선택 제품 또는 카트 데이터.
customer_*기존 고객, 주소, IP 및 사용자 에이전트 필드.

창조 주문 응답

기존 SaaS 통합은 호스팅 결제 URL을 세 부분의 평면 텍스트 응답에서 추출합니다.

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

성공적인 반환 및 통지 필드

필드가치
securityToken원래의 값이 깔끔한 값입니다.
paymentMethodonlinepay
paymentStatusCompleted
paymentTransaction확인된 블록체인 거래 해시.
paymentCommentsMochiPay payment confirmed
orderID원래의 SaaS orders_id.

E-Commerce 플러그인 다운로드

추가하기 MochiPay 플랫폼 특정 확장을 가진 독립적인 스토어로 이동합니다. 아래의 플랫폼 및 버전 지점을 선택합니다. 19 다운로드는 독립적입니다. ZIP 영어로 발음한 지침과 PHP 내부 요구 사항: 사용하기 PHP 환경은 당신의 정확한 상점 출시에 의해 허용됩니다.

사이트 + HPP

WooCommerce

클래식 체크, 체크 블록 및 HPOS.

플랫폼WooCommerce 5.8 또는 나중에 고향 문으로 API
PHPPHP 7.4–8.4

영어 설치 지침 및 자세한 내용 PHP 이 테이블 안에 있습니다. ZIP.

ZIP 다운로드설정 가이드
사이트 + HPP

OpenCart 2.0–2.2

초기 지불 경로 및 버전 특정 템플릿 경로.

플랫폼OpenCart 2.0X -2.2x
PHPPHP 5.6–7.4· 새로 PHP 핵심 패치가 필요합니다

영어 설치 지침 및 자세한 내용 PHP 이 테이블 안에 있습니다. ZIP.

ZIP 다운로드설정 가이드
사이트 + HPP

OpenCart 2.3

분리된 것들 2.3 확장 / 지불 구조

플랫폼OpenCart 2.3x
PHPPHP 5.6–7.4· 새로 PHP 핵심 패치가 필요합니다

영어 설치 지침 및 자세한 내용 PHP 이 테이블 안에 있습니다. ZIP.

ZIP 다운로드설정 가이드
사이트 + HPP

OpenCart 3

Twig 시각과 원주민 OpenCart 3 지불 게이트웨이

플랫폼OpenCart 3.0x
PHPPHP 5.6–8.4· 정확한 핵심 / 의존성 요구 사항이 적용됩니다.

영어 설치 지침 및 자세한 내용 PHP 이 테이블 안에 있습니다. ZIP.

ZIP 다운로드설정 가이드
사이트 + HPP

OpenCart 4

원주민 4.x 이름 공간, 경로 및 확장 포장.

플랫폼OpenCart 4.0.2X -4.1x
PHPPHP 8.0.2–8.4; 4.1.0.4 요구하는 8.1+

영어 설치 지침 및 자세한 내용 PHP 이 테이블 안에 있습니다. ZIP.

ZIP 다운로드설정 가이드
사이트 + HPP

Zen Cart 1.5.3–1.5.7

유산을 기반으로 정의 언어 파일 및 원주민 상태 설정.

플랫폼젠 카트 1.5.3-1.5.7
PHPPHP 5.6–8.0핵심 버전에 따라

영어 설치 지침 및 자세한 내용 PHP 이 테이블 안에 있습니다. ZIP.

ZIP 다운로드설정 가이드
사이트 + HPP

Zen Cart 1.5.8–2.2

현대 아레이 기반 언어 파일 및 고향 상태 설정.

플랫폼젠 카트 1.5.8 / 2.0x / 2.1x / 2.2x
PHPPHP 7.3–8.4핵심 버전에 따라

영어 설치 지침 및 자세한 내용 PHP 이 테이블 안에 있습니다. ZIP.

ZIP 다운로드설정 가이드
사이트 + HPP

Magento 1 / OpenMage

Magento CE 1.9.3.0–1.9.4.5 - 호환되는 OpenMage 19/20.

플랫폼Magento CE 1.9.3.0-1.9.4.5· 오픈소스 19/20 원주민 M1 API
PHPPHP 5.6–8.4; PHP 8 적합한 OpenMage 코어가 필요합니다.

영어 설치 지침 및 자세한 내용 PHP 이 테이블 안에 있습니다. ZIP.

ZIP 다운로드설정 가이드
사이트 + HPP

Magento 2

Magento 오픈소스 2.3.7–2.4.8 원주민 결제으로 가득 차 있습니다.

플랫폼Magento 오픈소스 2.3.7-2.4.8 Native Checkout 사용하기
PHPPHP 7.3–8.4핵심 버전에 따라

영어 설치 지침 및 자세한 내용 PHP 이 테이블 안에 있습니다. ZIP.

ZIP 다운로드설정 가이드
사이트 + HPP

PrestaShop 1.6

그들의 PrestaShop 1.6.1 지불 하우크 및 제출 양식.

플랫폼PrestaShop 1.6.1x
PHPPHP 5.6–7.1

영어 설치 지침 및 자세한 내용 PHP 이 테이블 안에 있습니다. ZIP.

ZIP 다운로드설정 가이드
사이트 + HPP

PrestaShop 1.7 / 8 / 9

PrestaShop 1.7.6–1.7.8, 8x 및 9.0.x 지불 옵션

플랫폼PrestaShop 1.7.6-1.7.8 / 8x / 9.0x
PHPPHP 5.6–8.4핵심 버전에 따라

영어 설치 지침 및 자세한 내용 PHP 이 테이블 안에 있습니다. ZIP.

ZIP 다운로드설정 가이드
사이트 + HPP

Shopware 6.6

분리된 고향 거래자 Shopware 6.6 그리고 6.7.

플랫폼Shopware >=6.6.10.0 <6.7.0.0
PHPPHP 8.2x / 8.3x / 8.4x

영어 설치 지침 및 자세한 내용 PHP 이 테이블 안에 있습니다. ZIP.

ZIP 다운로드설정 가이드
사이트 + HPP

Shopware 6.7

분리된 고향 거래자 Shopware 6.6 그리고 6.7.

플랫폼Shopware >=6.7.0.0 <6.8.0.0
PHPPHP 8.2x / 8.3x / 8.4x

영어 설치 지침 및 자세한 내용 PHP 이 테이블 안에 있습니다. ZIP.

ZIP 다운로드설정 가이드
사이트 + HPP

Drupal Commerce

지지자에 대한 지불 포트폴리오 인테리어 상업 Drupal 그리고 무역 부문.

플랫폼Commerce 2.40.x with Drupal 9.3–10.x; or Commerce 3.3.10+ <3.4 with 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정확하게 허용되는 경우에만 Drupal 릴리스

영어 설치 지침 및 자세한 내용 PHP 이 테이블 안에 있습니다. ZIP.

ZIP 다운로드설정 가이드
사이트 + HPP

EC-CUBE 4.3

원주민 JPY 결제 EC-CUBE 구매 흐름

플랫폼EC-CUBE >=4.3.0 <4.4.0
PHPPHP 8.1x / 8.2x / 8.3x

영어 설치 지침 및 자세한 내용 PHP 이 테이블 안에 있습니다. ZIP.

ZIP 다운로드설정 가이드
사이트 + HPP

Bagisto 2.3

Laravel 패키지, 원주민 주문 및 청구서 처리.

플랫폼Bagisto >=2.3.0 <2.4.0
PHPPHP 8.2x / 8.3x / 8.4.x (또한 상점 의존 잠금을 만족시킵니다)

영어 설치 지침 및 자세한 내용 PHP 이 테이블 안에 있습니다. ZIP.

ZIP 다운로드설정 가이드
사이트 + HPP

Sylius 2.0

Native Payum 결제 및 Sylius 지불 국가 기계

플랫폼Sylius >=2.0.0 <2.1.0 with PayumBundle 2.6+ / Payum 1.7-compatible core
PHPPHP 8.2x / 8.3x / 8.4.x (또한 상점 의존 잠금을 만족시킵니다)

영어 설치 지침 및 자세한 내용 PHP 이 테이블 안에 있습니다. ZIP.

ZIP 다운로드설정 가이드
사이트 + HPP

osCommerce 4.14

원주민 V4 지불 모듈; 유산에서 분리 osCommerce 2x 및 3X 는

플랫폼osCommerce 4.14.x; 원주민 V4 모듈 지불 API
PHPPHP 7.4X -8.3.x, 설치된 경우에 따라 osCommerce 자유 및 중독 잠금

영어 설치 지침 및 자세한 내용 PHP 이 테이블 안에 있습니다. ZIP.

ZIP 다운로드설정 가이드
사이트 + HPP

thirty bees 1.6

30 개의 꿀벌에 대한 고향 지불 모듈 및 주문 역사 1.6.

플랫폼thirty bees >=1.6.0 <1.7.0
PHPPHP 7.4x / 8.0x / 8.1x / 8.2x / 8.3.x; 30 개의 꿀벌 분배에 맞는 분배를 사용합니다.

영어 설치 지침 및 자세한 내용 PHP 이 테이블 안에 있습니다. ZIP.

ZIP 다운로드설정 가이드

새로운 어댑터는 초기 통합 건물입니다.전체 설치 및 실제 지불 수락은 라이브 트래픽을 허용하기 전에 자신의 스테이지 스토어에 있습니다.

건설을 시작하여 MochiPay

만들기 A MochiPay 계정 및 지불 작업 흐름에 맞는 통합 방법을 선택합니다.

시작하기