Skip to main content
POST
/
api
/
v1
/
order
/
create
Create new order
curl --request POST \
  --url https://www.waffo.com/api/v1/order/create \
  --header 'Content-Type: application/json' \
  --data '
{
  "paymentRequestId": "<string>",
  "merchantOrderId": "<string>",
  "orderCurrency": "IDR",
  "orderAmount": 10,
  "orderDescription": "replace order desc...,",
  "orderRequestedAt": "2023-11-07T05:31:56Z",
  "notifyUrl": "https://merchant-notify-url.com",
  "merchantInfo": {
    "merchantId": 1000000201,
    "subMerchantId": "<string>"
  },
  "userInfo": {
    "userId": "0001",
    "userEmail": "test@email.com",
    "userTerminal": "WEB",
    "userCreatedAt": "2021-05-16T08:00:00.000Z",
    "userPhone": "<string>",
    "userCountryCode": "<string>",
    "userFirstName": "<string>",
    "userLastName": "<string>",
    "userBrowserIp": "<string>",
    "userAgent": "<string>",
    "userReceiptUrl": "<string>"
  },
  "paymentInfo": {
    "productName": "ONE_TIME_PAYMENT",
    "payMethodType": "EWALLET",
    "payMethodName": "DANA",
    "payMethodProperties": "<string>",
    "userPaymentAccessToken": "<string>",
    "payMethodUserAccountNo": "<string>",
    "payMethodUserAccountType": "<string>",
    "cashierLanguage": "<string>",
    "cashierAppearance": "<string>",
    "payMethodCountry": "<string>",
    "captureMode": "<string>",
    "merchantInitiatedMode": "<string>"
  },
  "userCurrency": "IDR",
  "orderExpiredAt": "2023-11-07T05:31:56Z",
  "successRedirectUrl": "https://merchant-success-redirecturl.com",
  "failedRedirectUrl": "https://merchant-failed-redirecturl.com",
  "cancelRedirectUrl": "https://merchant-cancel-url.com",
  "extendInfo": "<string>",
  "brandInfo": {
    "cashierLogoUrl": "<string>",
    "cashierDisplayName": "<string>",
    "cashierProductImageUrl": "<string>"
  },
  "cardInfo": null,
  "paymentTokenData": "<string>",
  "riskData": {
    "userType": "Individual",
    "userCategory": "Member",
    "userLegalName": "<string>",
    "userDisplayName": "<string>",
    "userRegistrationIp": "252.13.13.26",
    "userLastSeenIp": "252.10.10.20",
    "userIsNew": "No",
    "userIsFirstPurchase": "No"
  },
  "addressInfo": {
    "address": "street 123 ...",
    "city": "city123",
    "region": "region or state or province 123",
    "postcode": 112233,
    "addressCountryCode": "IDN"
  },
  "innerCardData": {
    "cardBinDataList": [
      {
        "cardBin": "<string>",
        "cardScheme": "<string>",
        "cardBrand": "<string>",
        "cardType": "<string>",
        "cardTypeList": [
          "<string>"
        ],
        "subCardType": "<string>",
        "cardIssuerName": "<string>",
        "cardIssuerCode": "<string>",
        "cardIssueCountryCode": "<string>",
        "cardIssueCountryCodeList": [
          "<string>"
        ],
        "status": "<string>",
        "extendedInfo": "<string>"
      }
    ],
    "maskedCardInfo": "<string>",
    "cardBin": "<string>",
    "cardExpiry": "<string>"
  }
}
'
{
  "code": "<string>",
  "msg": "<string>",
  "data": {
    "paymentRequestId": "<string>",
    "merchantOrderId": "<string>",
    "acquiringOrderId": "<string>",
    "orderStatus": "<string>",
    "orderAction": "<string>"
  }
}

Documentation Index

Fetch the complete documentation index at: https://waffo.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Body

application/json
paymentRequestId
string
required

Payment request id sent from Merchant. It will also be used for idempotent check.

Maximum string length: 32
merchantOrderId
string
required

Merchant order id

Maximum string length: 64
orderCurrency
string
required

Merchant order currency

Maximum string length: 12
Example:

"IDR"

orderAmount
string
required

Merchant order amount

Maximum string length: 24
Example:

10

orderDescription
string
required

Order description information

Maximum string length: 128
Example:

"replace order desc...,"

orderRequestedAt
string<date-time>
required

Merchant-side request time

notifyUrl
string
required

The callback address to notify the merchant after the payment is completed / failed

Maximum string length: 256
Example:

"https://merchant-notify-url.com"

merchantInfo
object
required

Merchant info

userInfo
object
required

User info

paymentInfo
object
required

Payment information

userCurrency
string

User payment currency. This is needed when merchant order currency is NOT the same as user payment currency

Maximum string length: 12
Example:

"IDR"

orderExpiredAt
string<date-time>

The order expiry time set by merchant. If not set, the default merchant contract expiry time will be used

successRedirectUrl
string

The address of the merchant page to redirect to after successful payment. If no value is provided, it will stay on the cashier page after successful payment.

Maximum string length: 512
Example:

"https://merchant-success-redirecturl.com"

failedRedirectUrl
string

The address of the merchant page to which the payment pre-verification fails, or the redirection after the payment fails. If no value is provided, it will stay on the cashier page after the payment fails

Maximum string length: 512
Example:

"https://merchant-failed-redirecturl.com"

cancelRedirectUrl
string

The address of the merchant page to redirect to when user cancels the payment

Maximum string length: 512
Example:

"https://merchant-cancel-url.com"

extendInfo
string

Reserved. Json format e.g. {"key1":"value1", "key2":"value2"}

Maximum string length: 128
goodsInfo
object

Merchant goods information

brandInfo
object

Brand display information for cashier

cardInfo
object

Card data info. It is only required when Merchant wants to pass in card data directly in API (note: Merchant needs to have PCI DSS certification)

Example:

null

paymentTokenData
string

User's ApplePay / GooglePay payment token. It is only required when Merchant choose to integrate with ApplePay / GooglePay frontend directly and pass in the encrypted payment token for Waffo to process the payment

Maximum string length: 8192
riskData
object

riskData

addressInfo
object

Address Information

innerCardData
object

Response

200 - */*

OK

response data

code
string
msg
string
data
object