Notifications
Important Notes
- Notification URLs can be configured during merchant onboarding or via the
notifyUrlparameter in transaction requests. - The
notifyUrlparameter takes precedence. If neither is provided, notifications will not be sent. - Payment results must be determined by webhook notifications. Do not rely solely on the
statusfield in synchronous responses!
Card Information Fields
Card information fields in transaction webhooks are returned through paymentMethodDetails.
Transaction vs Payment Intent Semantics
transactionId: ID of a single attempt (transaction dimension). Business type isLong, transmitted asStringin JSON.status: Transaction status of the currenttransactionId(transaction dimension).paymentId: Payment intent primary key. OnepaymentIdcan map to multipletransactionIdattempts.paymentStatus: Status of the whole payment intent (payment dimension), independent from current transactionstatus.
Compatibility Note
Merchants not using the payment-intent model can ignore paymentId/paymentStatus and continue handling status only. Merchants using the payment-intent model should handle both status and paymentStatus.
Close-Order Webhook Rule (paymentStatus = N)
paymentStatus = N means the payment intent is closed by timeout in one of these scenarios:
- User created an order but did not pay before timeout.
- User made multiple failed attempts and the intent was finally closed by timeout.
For these close-order scenarios, only the webhook of the last transactionId is sent, while payload still includes both status and paymentStatus.
Webhook Retry Mechanism: Up to 3 Deliveries, 30-Minute Intervals
Onerway employs a retry mechanism to ensure reliable notification delivery:
- Initial Notification: Webhook is sent immediately upon transaction completion
- Response Validation:
- ✅ Merchant returns correct response (only
transactionIdvalue, see Response): Notification flow completes, no retries - ❌ Merchant fails to respond correctly (timeout, error response, network failure): Retry mechanism triggered
- ✅ Merchant returns correct response (only
- Retry Strategy:
- Retry attempts: 2 times
- Retry interval: 30 minutes between each attempt
- Total deliveries: Up to 3 times (1 initial + 2 retries)
Important
- Ensure your webhook endpoint is idempotent (produces the same result when called multiple times) to handle duplicate notifications correctly
- Use
transactionIdas unique identifier for deduplication
Best Practice
Notification Timeline Example:
| Time | Action | Note |
|---|---|---|
| T+0min | Initial notification | Sent immediately after transaction completion |
| T+30min | First retry | If merchant didn't respond correctly |
| T+60min | Second retry | If merchant still didn't respond correctly |
Signature Verification Steps
- Exclude parameters marked as
Noin the Signature column. See Parameters Excluded from Signature. - Sort remaining non-empty parameters by key in ASCII order, concatenate values, and append your merchant secret key.
- Generate SHA-256 hash of the resulting string.
- After successful verification, return only the
transactionIdvalue.
Note
- Future webhook parameters will participate in signature verification by default
- Always exclude parameters marked as
Nodynamically rather than hardcoding a list ofYesparameters to prevent signature failures when new fields are added
Notification Parameters
| Name | Type | Length | Signature | Description |
|---|---|---|---|---|
notifyType | String | / | Yes | Notification type. See NotifyTypeEnum |
txnType | String | / | Yes | Transaction type. See TxnTypeEnumReturned when |
transactionId | String | 20 | Yes | Onerway transaction ID. |
paymentId | String | / | Yes | Payment intent ID. |
originTransactionId | String | 20 | No | Original transaction ID. Returned in reversal and dispute notifications |
merchantTxnId | String | 64 | Yes | Merchant transaction ID. |
originMerchantTxnId | String | 64 | No | Original merchant transaction ID. Returned in reversal notifications |
merchantNo | String | 20 | Yes | Merchant number. |
responseTime | String | / | Yes | Notification timestamp. Format: |
txnTime | String | / | Yes | Transaction timestamp. Format: |
txnTimeZone | String | / | Yes | Transaction timezone. Example: |
orderAmount | String | 19 | Yes | Order amount. |
orderCurrency | String | 8 | Yes | |
txnAmount | String | 19 | Yes | Settlement amount. |
txnCurrency | String | 8 | Yes | |
settleRate | String | 19 | Yes | Exchange rate. Formula: |
customsDeclarationAmount | String | 19 | No | Customs declarable amount. |
customsDeclarationCurrency | String | 8 | No | |
paymentMethod | String | 64 | No | Payment method. |
walletTypeName | String | 128 | No | Digital wallet type. |
status | String | 1 | Yes | Transaction status. Values:
|
paymentStatus | String | 1 | Yes | Payment intent status. See PaymentStatusEnum |
reason | String | 512 | Yes | Status reason. |
periodValue | String | / | No | Installment period. |
contractId | String | 20 | Yes | Subscription contract ID. |
tokenId | String | 300 | Yes | Payment token. |
cardTokenId | String | 300 | Yes | Card token. |
tokenExpireTime | String | / | No | Token expiration. |
eci | String | 2 | Yes | ECI (Electronic Commerce Indicator). |
chargebackDate | String | / | Yes | Chargeback date. Format: |
importTime | String | / | Yes | Import timestamp. Format: |
appealDueTime | String | / | Yes | Representment deadline. Format: |
chargebackAmount | String | 19 | Yes | Dispute amount. |
chargebackCurrency | String | 8 | Yes | |
chargebackStatus | String | 16 | Yes | Dispute status. See ChargebackStatusEnum |
chargebackArn | String | 128 | Yes | ARN (Acquirer Reference Number). |
chargebackCode | String | 32 | Yes | Reason code. |
chargebackReason | String | 1024 | Yes | Reason description. |
cardBinCountry | String | 64 | Yes | |
expireDate | String | / | Yes | Contract expiration. Format: Has value when |
subscriptionStatus | String | 2048 | Yes | Subscription status. See SubscriptionStatusEnum |
dataStatus | String | 2048 | Yes | Contract status. See DataStatusEnum |
products | String | 1024 | Yes | Product details. |
subscriptionChangeTime | String | / | Yes | Effective date. |
metaData | String | 2048 | Yes | Custom metadata. |
scenarios | String | 2048 | Yes | Subscription event. See ScenariosEnum |
paymentMethodDetails | String | / | Yes | Payment method details in JSON string format. See PaymentMethodDetailsCardfor structure. |
sign | String | / | No |
Parameters Excluded from Signature
'originTransactionId', 'originMerchantTxnId', 'customsDeclarationAmount', 'customsDeclarationCurrency', 'paymentMethod', 'walletTypeName', 'periodValue', 'tokenExpireTime', 'sign'
Parameter Exclusion Code Examples
/*
$params is the data to be signed;
Parameter type is a one-dimensional array;
$PrivateKey is the merchant secret key;
Parameter type is a string;
*/
function ASCII_HASH($params , $PrivateKey){
if(!empty($params)){
$p = ksort($params);
// Parameters to be excluded
$badkey = array('originTransactionId','originMerchantTxnId','customsDeclarationAmount','customsDeclarationCurrency','paymentMethod','walletTypeName','periodValue','tokenExpireTime','sign');
if($p){
$strs = '';
foreach ($params as $k=>$val){
// Exclude parameters marked "NO"
if((!empty($val) || $val == 0) && $k != 'sign' && $k != 'route' && !in_array($k, $badkey))
{
$strs .= $val ;
}
}
$strs = $strs.$PrivateKey ;
return hash('sha256' , $strs);
}
}
return 'error';
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
* Process notification callback
*
* @param webhook TreeMap Received asynchronous notification
* @return transactionId
*/
@PostMapping("webhook")
public Object webhook(@RequestBody TreeMap<String, Object> webhook) {
// Save original signature
String originalSign = webhook.get("sign");
// Create a new Map for signature verification, avoiding modification of original data
TreeMap<String, Object> verifyMap = new TreeMap<>(webhook);
// Fields to exclude in notification signature verification
List<String> notifyExcludeFields = Arrays.asList(
"originTransactionId", "originMerchantTxnId", "customsDeclarationAmount",
"customsDeclarationCurrency", "paymentMethod", "walletTypeName",
"periodValue", "tokenExpireTime", "sign"
);
// Remove specified fields for notification signature verification
for (String key : notifyExcludeFields) {
verifyMap.remove(key);
}
// TODO: Call your existing signature method to concatenate strings and generate signature
String sign = hash(verifyMap);
// Verify signature is correct
if (!sign.equals(originalSign)) {
log.error("Invalid signature. Generated signature: {}; Request signature: {}", sign, originalSign);
// TODO: Handle failed verification (not an Onerway notification/fraudulent notification)
}
// Return transactionId after successful verification
return webhook.get("transactionId");
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Response
Important
Return only the transactionId value. Do not include any other parameters or JSON structure.
Notification Examples
Payment Success
{
"notifyType": "TXN",
"paymentId": "2031908578247712768",
"transactionId": "2028704543449423872",
"txnType": "SALE",
"merchantNo": "800209",
"merchantTxnId": "1b580d11-5d46-4a7a-995d-5c0d3df2f314",
"responseTime": "2026-03-03 13:30:30",
"txnTime": "2026-03-03 13:30:29",
"txnTimeZone": "+08:00",
"orderAmount": "10.00",
"orderCurrency": "USD",
"status": "S",
"paymentStatus": "S",
"cardBinCountry": "SG",
"reason": "{\"respCode\":\"20000\",\"respMsg\":\"Success\"}",
"sign": "b20de0b547d63c3b65c7aabb71eccff3e53184347e183ef675c157a3901ed6ea",
"paymentMethod": "VISA",
"paymentMethodDetails": "{\"card\":{\"checks\":{\"addressCheck\":null,\"postalCodeCheck\":null,\"avsResultRawCode\":null,\"threeDSecureResult\":{\"version\":\"UNKNOWN\",\"authenticationFlow\":\"FRICTIONLESS\",\"chargebackLiability\":\"MERCHANT\",\"transStatus\":null,\"transStatusReason\":null,\"veresEnrolled\":null,\"eci\":\"05\",\"cvvResult\":null,\"avsFullResult\":null,\"cavvResult\":\"MjAyNi0wMy0wM1QxMzozMDozMC4zNjA=\"}},\"holderName\":\"CL BRW2\",\"year\":\"2026\",\"month\":\"05\",\"cardType\":null,\"productCategory\":null,\"issuer\":null,\"authorizationCode\":null,\"cardNumber\":\"476134******1390\"}}" // Card details (JSON string format, participates in signature)
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"notifyType": "TXN",
"transactionId": "1925132987104890880",
"txnType": "SALE",
"merchantNo": "800259",
"merchantTxnId": "G_jN_p_xBdNWhrAE0Co6dQQ5whaYl1Oh07",
"responseTime": "2025-05-21 18:14:23",
"txnTime": "2025-05-21 18:14:06",
"txnTimeZone": "+08:00",
"orderAmount": "5.00",
"orderCurrency": "USD",
"status": "S",
"cardBinCountry": "NZ",
"reason": "{\"respCode\":\"20000\",\"respMsg\":\"Success\"}",
"sign": "7bd1c8fd54c86873f7c9c70e77d968d5725ac85ccc8b6938f2c2dc74a0c917bd",
"paymentMethod": "VISA",
"walletTypeName": "ApplePay",
"channelRequestId": "8002591925133054498705409"
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"notifyType": "TXN",
"transactionId": "2028706179144097792",
"txnType": "SALE",
"merchantNo": "800209",
"merchantTxnId": "0199407e-b2fa-4840-a396-213a8d631c88",
"responseTime": "2026-03-03 13:37:41",
"txnTime": "2026-03-03 13:36:59",
"txnTimeZone": "+08:00",
"orderAmount": "6.00",
"orderCurrency": "USD",
"status": "S",
"cardBinCountry": "US",
"reason": "{\"respCode\":\"20000\",\"respMsg\":\"Success\"}",
"sign": "d3cf989e6213422504f95d0ae45b59fdd25f98c7052d02dd22bae4186059f062",
"paymentMethod": "VISA",
"paymentMethodDetails": "{\"card\":{\"checks\":null,\"holderName\":\"Fern Von\",\"year\":\"2028\",\"month\":\"12\",\"cardType\":null,\"productCategory\":null,\"issuer\":\"JPMORGAN CHASE BANK, N.A.\",\"authorizationCode\":null,\"cardNumber\":\"411111******1111\"}}", // Card details (JSON string format, participates in signature)
"walletTypeName": "GooglePay",
"channelRequestId": "8002092028706353840795649"
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Payment Failure
{
"notifyType": "TXN",
"paymentId": "2028705396700000000",
"transactionId": "2028705396755406848",
"txnType": "SALE",
"merchantNo": "800209",
"merchantTxnId": "270377be-3f15-49a1-9949-32989ab56ebf",
"responseTime": "2026-03-03 13:33:54",
"txnTime": "2026-03-03 13:33:52",
"txnTimeZone": "+08:00",
"orderAmount": "10.00",
"orderCurrency": "USD",
"status": "F",
"paymentStatus": "O",
"cardBinCountry": "US",
"reason": "{\"respCode\":\"60005\",\"respMsg\":\"Do not honor\"}",
"sign": "d73aa59020b19b1990b0f1ef8cabf7968e216f16e6bae5c59dd17eb75b3602fb",
"paymentMethod": "VISA",
"paymentMethodDetails": "{\"card\":{\"checks\":{\"addressCheck\":null,\"postalCodeCheck\":null,\"avsResultRawCode\":null,\"threeDSecureResult\":{\"version\":\"UNKNOWN\",\"authenticationFlow\":\"FRICTIONLESS\",\"chargebackLiability\":\"MERCHANT\",\"transStatus\":null,\"transStatusReason\":null,\"veresEnrolled\":null,\"eci\":\"05\",\"cvvResult\":null,\"avsFullResult\":null,\"cavvResult\":\"MjAyNi0wMy0wM1QxMzozMzo1My44MjI=\"}},\"holderName\":\"CL BRW2\",\"year\":\"2026\",\"month\":\"05\",\"cardType\":null,\"productCategory\":null,\"issuer\":\"NETSPEND\",\"authorizationCode\":null,\"cardNumber\":\"400012******8204\"}}", // Card details (JSON string format, participates in signature)
"channelRequestId": "8002092028705400517439489"
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Payment Intent Closed by Timeout (paymentStatus = N)
{
"cardBinCountry": "US",
"channelRequestId": "8006742031908579392495621",
"merchantNo": "800674",
"merchantTxnId": "PlBys270SR453lwcsnXTgL3pCykl879",
"notifyType": "TXN",
"orderAmount": "10.00",
"orderCurrency": "USD",
"paymentId": "2031908578247712768",
"paymentMethod": "VISA",
"paymentMethodDetails": "{\"card\":{\"checks\":{\"addressCheck\":\"notProvided\",\"postalCodeCheck\":\"notProvided\",\"avsResultRawCode\":null,\"threeDSecureResult\":null},\"holderName\":\"Evelyn Victorian\",\"year\":\"2030\",\"month\":\"11\",\"cardType\":null,\"productCategory\":null,\"issuer\":\"JPMORGAN CHASE BANK N.A. - DEBIT\",\"cardBinCountry\":\"US\",\"authorizationCode\":\"295859\",\"cardNumber\":\"442756******1274\"}}",
"paymentStatus": "N",
"reason": "{\"respCode\":\"60005\",\"respMsg\":\"Do not honor\"}",
"responseTime": "2026-03-12 09:42:13",
"sign": "b86b7c1b6e661b61ac1b7fa04e1fe3546a633ca574515bd9e92308b6eea24854",
"status": "F",
"transactionId": "2031908578310627328",
"txnTime": "2026-03-12 09:42:10",
"txnTimeZone": "+08:00",
"txnType": "SALE"
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Token Payment
{
"notifyType": "TXN",
"transactionId": "1982651098431094784", // Card binding transaction ID
"txnType": "BIND_CARD", // Transaction type is BIND_CARD
"merchantNo": "800164",
"merchantTxnId": "800164-1982651068391620608",
"responseTime": "2025-10-27 11:30:33",
"txnTime": "2025-10-27 11:30:32",
"txnTimeZone": "+08:00",
"orderAmount": "0.00",
"orderCurrency": "USD",
"status": "S",
"tokenId": "d488be7426383edf4ce9c087ae47ebdfa2b58ecd462fdbf7eb841d5db04746f4", // Generated tokenId
"tokenExpireTime": "2099-12-31 23:59:59",
"cardBinCountry": "US",
"reason": "{\"respCode\":\"20000\",\"respMsg\":\"Success\"}",
"sign": "3e9ac7102fd9db939549bdadf50e8d85e85132db5cf67d36c44b520f77b32d35",
"paymentMethod": "VISA",
"channelRequestId": "002411"
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"notifyType": "TXN",
"transactionId": "1921386970375127042",
"txnType": "SALE",
"merchantNo": "800209",
"merchantTxnId": "5ddbee02-908f-44f9-a7a8-ac1c391f00b5",
"responseTime": "2025-05-11 10:09:02",
"txnTime": "2025-05-11 10:08:46",
"txnTimeZone": "+08:00",
"orderAmount": "500.00",
"orderCurrency": "USD",
"status": "S", // Final status after 3DS verification
"tokenId": "f7d54297b989d2acf4eb6791213cf2bd9d2c842ea05b0a91c8dd85f4f9e4915b",
"eci": "05", // ECI value indicates 3DS authentication result
"cardBinCountry": "US",
"reason": "{\"respCode\":\"20000\",\"respMsg\":\"Success\"}",
"sign": "5f654896436263215a0dea3798e67d5c714f3e54f57f9bf55fd08568db1d1b63",
"paymentMethod": "VISA",
"channelRequestId": "8002091921386975378677761"
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Subscription - Initial Charge
{
"notifyType": "TXN",
"transactionId": "1919772912060342272",
"txnType": "SALE",
"merchantNo": "800209",
"merchantTxnId": "ec91ee2b-7ba9-444f-8875-955fe94fadf3",
"responseTime": "2025-05-06 23:15:33",
"txnTime": "2025-05-06 23:15:20",
"txnTimeZone": "+08:00",
"orderAmount": "2.00",
"orderCurrency": "USD",
"status": "S",
"contractId": "1919772912228114432",
"tokenId": "195f7e75785863a66d3801ae02c12e24ea16abe164303cf3e3fd10e04d5e4188",
"cardBinCountry": "US",
"reason": "{\"respCode\":\"20000\",\"respMsg\":\"Success\"}",
"sign": "6e8bd132b805c6ad530857331bef43c25e4c4a544dc2e0494cfd1ad94a7f55dc",
"paymentMethod": "VISA",
"subscriptionManageUrl": "https://sandbox-myscribe.onerway.com/pages/subscription-list/details?contractId=eyJjb250cmFjdElkIjoxOTE5NzcyOTEyMjI4MTE0NDMyLCJtZXJjaGFudE5vIjo4MDAyMDksIm1lcmNoYW50Q3VzdElkIjoiQ3VzdElkLUtYUlAtMzcxMSIsIm5vdGlmaWNhdGlvbkVtYWlsIjpudWxsLCJhcHBJZCI6IjE3Mjc4ODA4NDYzNzg0MDE3OTIifQ==",
"subscriptionStatus": "active",
"dataStatus": "1",
"products": "[{\"currency\":\"USD\",\"name\":\"currant\",\"num\":\"78\",\"price\":\"620.39\",\"type\":\"ullamco et do commodo ut\"},{\"currency\":\"USD\",\"name\":\"strawberry\",\"num\":\"63\",\"price\":\"289.61\",\"type\":\"labore cupidatat Duis elit\"},{\"currency\":\"USD\",\"name\":\"grapefruit\",\"num\":\"24\",\"price\":\"989.09\",\"type\":\"ullamco non\"}]",
"metaData": "eventually",
"channelRequestId": "8002091919772982323052544",
"scenarios": "SUBSCRIPTION_INITIAL"
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
"notifyType": "TXN",
"transactionId": "1914230281599320064",
"txnType": "SALE",
"merchantNo": "800209",
"merchantTxnId": "8a4e276e-86c2-4753-b91a-0cc8881e4d0d",
"responseTime": "2025-04-21 16:10:58",
"txnTime": "2025-04-21 16:10:38",
"txnTimeZone": "+08:00",
"orderAmount": "33.00",
"orderCurrency": "USD",
"status": "S",
"contractId": "1914230281792258048",
"tokenId": "7a83c22d55ca1e383fefbf1537c90b065a7324aee29a36d4b39c66da377a9b57",
"cardBinCountry": "US",
"reason": "{\"respCode\":\"20000\",\"respMsg\":\"Success\"}",
"sign": "432894a2c697e01e4fe86eaa4f2564fb13ea97d0b4662a45fc83d1aa076985d1",
"paymentMethod": "VISA",
"subscriptionStatus": "active",
"dataStatus": "1",
"products": "[{\"currency\":\"USD\",\"name\":\"mandarin\",\"num\":\"47\",\"price\":\"234.19\",\"type\":\"eu dolore in\"}]",
"metaData": "pfft",
"channelRequestId": "8002091914230287013908481",
"scenarios": "SUBSCRIPTION_INITIAL"
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Subscription - Renewal Charge
{
"notifyType": "TXN",
"transactionId": "1925220046993756162",
"txnType": "SALE",
"merchantNo": "800272",
"merchantTxnId": "1925220044372316160",
"responseTime": "2025-05-22 00:00:08",
"txnTime": "2025-05-22 00:00:02",
"txnTimeZone": "+08:00",
"orderAmount": "0.95",
"orderCurrency": "USD",
"status": "S",
"contractId": "1920300901562982400",
"tokenId": "a22e5904e7e6a7864947c216cd1169d2f1f12ff6663472cf1f4918b659106420",
"cardBinCountry": "US",
"reason": "{\"respCode\":\"20000\",\"respMsg\":\"Success\"}",
"sign": "3d121d47adb826eb47f8aa8fd34d4ef8877990d5c529affb81e59b5340ba690c",
"paymentMethod": "VISA",
"subscriptionManageUrl": "https://sandbox-myscribe.onerway.com/pages/subscription-list/details?contractId=eyJjb250cmFjdElkIjoxOTIwMzAwOTAxNTYyOTgyNDAwLCJtZXJjaGFudE5vIjo4MDAyNzIsIm1lcmNoYW50Q3VzdElkIjoiNjc3NjVjYmIzYjJmNzRkZjQyODIwM2RlIiwibm90aWZpY2F0aW9uRW1haWwiOm51bGwsImFwcElkIjoiMTc5NjAwNzY3NDM4NDg3OTYxNiJ9",
"subscriptionStatus": "active",
"dataStatus": "1",
"products": "[{\"name\":\"Unlimited\",\"price\":\"0.95\",\"num\":\"1\",\"currency\":\"USD\"}]",
"channelRequestId": "8002721925220051493982208",
"scenarios": "SUBSCRIPTION_RENEWAL"
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
"notifyType": "TXN",
"transactionId": "1920133309141491712",
"txnType": "SALE",
"merchantNo": "800209",
"merchantTxnId": "d9de61b7-3480-48ed-90e6-4b0b9e2e4640",
"responseTime": "2025-05-07 23:07:18",
"txnTime": "2025-05-07 23:07:09",
"txnTimeZone": "+08:00",
"orderAmount": "20.00",
"orderCurrency": "USD",
"status": "S",
"contractId": "1919772912228114432",
"tokenId": "195f7e75785863a66d3801ae02c12e24ea16abe164303cf3e3fd10e04d5e4188",
"cardBinCountry": "US",
"reason": "{\"respCode\":\"20000\",\"respMsg\":\"Success\"}",
"sign": "cd220e77f9566e6cf20869c712c01dff34af9d0b52ffe2194510d88288827265",
"paymentMethod": "VISA",
"subscriptionManageUrl": "https://sandbox-myscribe.onerway.com/pages/subscription-list/details?contractId=eyJjb250cmFjdElkIjoxOTE5NzcyOTEyMjI4MTE0NDMyLCJtZXJjaGFudE5vIjo4MDAyMDksIm1lcmNoYW50Q3VzdElkIjoiQ3VzdElkLUtYUlAtMzcxMSIsIm5vdGlmaWNhdGlvbkVtYWlsIjpudWxsLCJhcHBJZCI6IjE3Mjc4ODA4NDYzNzg0MDE3OTIifQ==",
"subscriptionStatus": "active",
"dataStatus": "1",
"products": "[{\"name\":\"passionfruit\",\"desc\":null,\"price\":\"696.29\",\"num\":\"90\",\"currency\":\"USD\"},{\"name\":\"kiwiberry\",\"desc\":null,\"price\":\"948.79\",\"num\":\"36\",\"currency\":\"USD\"}]",
"metaData": "eventually",
"channelRequestId": "8002091920133320860106752",
"scenarios": "SUBSCRIPTION_CHANGED"
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
"notifyType": "TXN",
"transactionId": "1920061365985615872",
"txnType": "SALE",
"merchantNo": "800209",
"merchantTxnId": "6a28ac11-d98c-4323-84a7-426b9322c4f7",
"responseTime": "2025-05-07 18:21:21",
"txnTime": "2025-05-07 18:21:17",
"txnTimeZone": "+08:00",
"orderAmount": "2.00",
"orderCurrency": "USD",
"status": "S",
"contractId": "1919781071080529920",
"tokenId": "b05d9de9836fe3e0dce5ba42078885cb90c729fe0604219a9cf24c092e71eb60",
"cardBinCountry": "US",
"reason": "{\"respCode\":\"20000\",\"respMsg\":\"Success\"}",
"sign": "345f09b2240dcd2084605c28024b4d6fe7da4f84e59a7268b92bb66a36c433b3",
"paymentMethod": "VISA",
"subscriptionStatus": "active",
"dataStatus": "1",
"products": "[{\"currency\":\"USD\",\"name\":\"feijoa\",\"num\":\"88\",\"price\":\"968.79\",\"type\":\"consectetur adipisicing reprehenderit sint\"},{\"currency\":\"USD\",\"name\":\"avocado\",\"num\":\"52\",\"price\":\"414.89\",\"type\":\"consectetur labore\"}]",
"metaData": "vary",
"channelRequestId": "8002091920061371823816709",
"scenarios": "SUBSCRIPTION_RENEWAL"
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Authorization
{
"notifyType": "TXN",
"transactionId": "1914565388776378368", // Required as originTransactionId for capture
"txnType": "AUTH",
"merchantNo": "800209",
"merchantTxnId": "4f581f27-fe1a-4a80-8e10-2b3751ffb785",
"responseTime": "2025-04-22 14:22:51",
"txnTime": "2025-04-22 14:22:42",
"txnTimeZone": "+08:00",
"orderAmount": "83.00",
"orderCurrency": "USD",
"status": "S",
"eci": "05",
"cardBinCountry": "US",
"reason": "{\"respCode\":\"20000\",\"respMsg\":\"Success\"}",
"sign": "ec866293c15c4def1bad161c13f77153d560660065807612547d1c05a5de47bc",
"paymentMethod": "VISA",
"channelRequestId": "8002091914565512046706689"
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"notifyType": "TXN",
"transactionId": "1921486705937219584",
"txnType": "CAPTURE",
"merchantNo": "800209",
"merchantTxnId": "6b38115b-f2a2-446e-aaa7-7fbaa106adf4",
"responseTime": "2025-05-11 16:50:01",
"txnTime": "2025-05-11 16:45:05",
"txnTimeZone": "+08:00",
"orderAmount": "54.00",
"orderCurrency": "USD",
"status": "S", // Success status for completed capture
"cardBinCountry": "US",
"reason": "{\"respCode\":\"20000\",\"respMsg\":\"Success\"}",
"sign": "74204385718b9327a8a3f3af03d16fd5130b2b9673277730aad4f627e2d32f19",
"paymentMethod": "VISA",
"channelRequestId": "8002091921486708126392321"
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"notifyType": "TXN",
"transactionId": "1921498535157956608",
"txnType": "VOID",
"merchantNo": "800209",
"merchantTxnId": "507df80b-243a-459b-bd76-bee35e7f0328",
"responseTime": "2025-05-11 17:35:02",
"txnTime": "2025-05-11 17:32:05",
"txnTimeZone": "+08:00",
"orderAmount": "10.00",
"orderCurrency": "USD",
"status": "S", // Success status for completed reversal
"cardBinCountry": "US",
"reason": "{\"respCode\":\"20000\",\"respMsg\":\"Success\"}",
"sign": "2fe73005baa11e3823a4b641393e2c7b79ee7d80b850c5185cdb3b11c6ee3170",
"paymentMethod": "VISA",
"channelRequestId": "8002091921498536260804609"
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Refund
{
"notifyType": "TXN",
"transactionId": "1982640556668747776",
"txnType": "REFUND",
"merchantNo": "800256",
"merchantTxnId": "1275019066607111",
"originMerchantTxnId": "1275019066607111",
"responseTime": "2025-10-27 10:55:03",
"txnTime": "2025-10-27 10:48:40",
"txnTimeZone": "+08:00",
"orderAmount": "100.00",
"orderCurrency": "USD",
"status": "S",
"cardBinCountry": "PL",
"reason": "{\"respCode\":\"20000\",\"respMsg\":\"Success\"}",
"sign": "6f62d353d2abd843d34864a3ee78c03cec2eb8ba1713c62c5db5d748b6a44840",
"paymentMethod": "VISA",
"channelRequestId": "8002561982640570996350977"
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Refund Audit Result
{
"notifyType": "REFUND_AUDIT",
"transactionId": "1925739837181530114",
"merchantNo": "800209",
"merchantTxnId": "R-b20e9b40-4479-4ab7-aa40-69463f7dea45",
"originMerchantTxnId": "TX_zvKa3GX7_59496",
"responseTime": "2025-05-23 10:26:06",
"txnTimeZone": "+08:00",
"orderAmount": "45.00",
"orderCurrency": "USD",
"status": "F", // F for Failed/Rejected
"sign": "d01abdaf733086272252ea1548644bef007e50aaa18329d737a8d103e5f4efa7"
}2
3
4
5
6
7
8
9
10
11
12
13
Chargeback
{
"notifyType": "CHARGEBACK",
"merchantNo": 800209,
"transactionId": 1925859837858942976,
"originTransactionId": 1925119888343830528,
"originMerchantTxnId": "TX_h2oS4AqU_51232",
"importTime": "2025-05-23 18:22:20",
"chargebackDate": "2025-05-23",
"chargebackAmount": 1.0,
"chargebackCurrency": "USD",
"chargebackStatus": "NEW",
"chargebackArn": "0523",
"chargebackCode": "123",
"chargebackReason": "NOF",
"appealReason": null,
"appealDueTime": "2025-05-31 18:22:20",
"sign": null
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18