Antom, leading provider of tailored payment solutionsAntom, leading provider of tailored payment solutions

alipay.intl.acquiring.offline.pay

The merchant uses this interface to initiate an offline payment.

Request

Request parameters

Header

No

Name

Description

Type

Length

Required

Remarks

Sample

1

version

API version

string

8

ME

As per the respective API reference.

2.0.0

2

function

API interface

string

128

ME

According to specifications defined by each business domain.

alipay.intl.function

3

clientId

Client ID

string

32

ME

Provided by Alipay, used to identify partner and application system.

211020000000000000044

4

reqTime

Request time

datetime

/

M

DateTime with timezone, which follows the ISO-8601 standard.
Refer to: RFC 3339 Section 5.6

2001-07-04T12:08:56+05:30

5

reqMsgId

Request message ID

string

64

ME

Each request will be assigned with a unique ID (uuid).
The reqMsgId identifies a unique system request, it is not used to identify a unique business request.

1234567asdfasdf1123fda

6

reserve

Reserved for future implementation

string

256

O

Key/Value

{}

Body

No

Name

Description

Type

Length

Required

Remarks

Sample

1

merchantId

Merchant ID, which identifies the settlement target that Alipay would settle to.

string 

64

M

218820000000000000023

2

productCode

The product code

enum<ProductCodeEnum

>

64

M

OFFLINE_PAY

3

merchantTransId 

Unique merchant transaction ID

string

64

ME

51051001000000000002

4

codeType

The code type

enum<OfflineCodeTypeEnum

>

32

M

BARCODE

5

identityCode

Identity code

string

65535

M

28763443825664394

6

order

The order information

Order

/

M

The orderAmount should be provided in the smallest common currency unit. For example, to create a charge for $1.00, you would set orderAmount.valueas100 (100 cents).

{
   "orderAmount":{
       "currency":"THB",
       "value":"239"
   },
   "orderTitle":"Women Summer Dress",
   "orderDetail":"New White Lace Sleeveless Cute Casual Summer Dresses Vestidos roupas femininas WQW10",
   "seller":{
       "sellerId":"2188205006167080",
       "mcc":"5691",
       "sellerName":"Zara",
        "storeId":"S94908",
       "storeName":"Zara-Store #30",
       "terminalId": "Z98745DE89745"
   }
}

7

settleContractId

Settlement contract ID.
The merchant might want to be settled in different ways for different situations, each of which could be defined by a settlement contract. For example, a merchant could have a settlement contract for USD settlement while has another settlement contract for CAD settlement. 
If not provided, the default settlement contract will be used.

string

64

O

USD-1

8

envInfo

Device environment information of the user's current request.

EnvInfo

/

O

 

{
            "deviceInfo":{
                    "sessionId":"26daf780047938bf8d5b7ea8906003e9",
                    "serialNo":"f0c0ec9a",
                    "clientIp":"121.0.29.220",
                    "latitudeLongitude":"39.9151190000,116.4039630000",
                    "idfa":"5D08BADB6-B7D1-46DE-BDAB-B66468A1EFCC",
                    "terminalType":"APP",
                    "deviceName":"Mike's iPhone",
                    "deviceBrand":"APPLE",
                    "deviceModel":"iPhone 7 Plus",
                    "imei":"863360020885012",
                    "osName":"ios",
                    "osVersion":"9.1.1",
                    "wirelessNetwork":"china unicom",
                    "wirelessCarrier":"china unicom",
                    "flightMode":"enabled",
                    "fingerPrintEnabled":"enabled",
                    "deviceBootTime":"2001-07-04T12:08:56+05:30",
                    "lastUnlockTime":"2001-07-04T12:08:56+05:30",
                    "screenResolution":"1024*768",
                    "isJailbreaked":true,
                    "macAddress":"8c:be:be:71:1f:34",
                    "systemLanguage":"EN",
                    "timeZone":"UTC+11"
                },
                "extendInfo":"{}"
            }

9

extendInfo

Reserved for extended information

string

2048

O

Key/Value
Note the type of extendInfo is a string. See the example in the request sample. huabeiInstallment is used for huabei credit payment, installmentPlan represents the number of installment customer will pay, installmentFeeSellerContribution represents the percentage of fee/interest merchant willing to contribute.

{"huabeiInstallment":{"installmentPlan":"3", 

Request sample

copy
{
    "request":{
        "head":{
            "version":"2.0.0",
            "function":"alipay.intl.acquiring.offline.pay",
            "clientId":"211020000000000000044",
            "reqTime":"2001-07-04T12:08:56+05:30",
            "reqMsgId":"1234567asdfasdf1123fda",
            "reserve":"{}"
        },
        "body":{
            "merchantId":"218820000000000000023",
            "productCode":"OFFLINE_PAY",
            "merchantTransId":"51051001000000000002",
            "codeType":"BARCODE",
            "identityCode":"28763443825664394",
            "order":{
                "orderAmount":{
                    "currency":"USD",
                    "value":"239"
                },
                "orderTitle":"Women Summer Dress",
                "orderDetail":"New White Lace Sleeveless Cute Casual Summer Dresses Vestidos roupas femininas WQW10"
            },
            "settleContractId":"USD-1",
            "envInfo":{
                "deviceInfo":{
                    "sessionId":"26daf780047938bf8d5b7ea8906003e9",
                    "serialNo":"f0c0ec9a",
                    "clientIp":"121.0.29.220",
                    "latitudeLongitude":"39.9151190000,116.4039630000",
                    "idfa":"5D08BADB6-B7D1-46DE-BDAB-B66468A1EFCC",
                    "terminalType":"APP",
                    "deviceName":"Mike's iPhone",
                    "deviceBrand":"APPLE",
                    "deviceModel":"iPhone 7 Plus",
                    "imei":"863360020885012",
                    "osName":"ios",
                    "osVersion":"9.1.1",
                    "wirelessNetwork":"china unicom",
                    "wirelessCarrier":"china unicom",
                    "flightMode":"enabled",
                    "fingerPrintEnabled":"enabled",
                    "deviceBootTime":"2001-07-04T12:08:56+05:30",
                    "lastUnlockTime":"2001-07-04T12:08:56+05:30",
                    "screenResolution":"1024*768",
                    "isJailbreaked":true,
                    "macAddress":"8c:be:be:71:1f:34",
                    "systemLanguage":"EN",
                    "timeZone":"UTC+11"
                },
                "extendInfo":"{}"
            },
            "extendInfo":"{\"huabeiInstallment\":{\"installmentPlan\":\"3\", \"installmentFeeSellerContribution\":\"100\"}}"
        }
    },
    "signature":"signature string"
}

Response

Response parameters

Header

No

Name

Description

Type

Length

Required

Remarks

Sample

1

version

API version

string

8

ME

As per the respective API reference.

2.0.0

2

function

API interface

string

128

ME

According to specifications defined by each business domain.

alipay.intl.function

3

clientId

Client ID

string

32

ME

Provided by Alipay, used to identify partner and application system.

211020000000000000044

4

respTime

Response time

datetime

/

M

DateTime with timezone, which follows the ISO-8601 standard. 
Refer to: RFC 3339 Section 5.6

2001-07-04T12:08:56+05:30

5

reqMsgId

Request message ID

string

64

ME

Each request will be assigned with a unique ID (uuid).

1234567asdfasdf1123fda

6

reserve

Reserved for future implementation

string

256

O

Key/Value

{}

Body

No

Name

Description

Type

Length

Required

Remarks

Sample

1

resultInfo

Result information

ResultInfo

/

M

{
    "resultStatus": "S",
    "resultCodeId": "00000000",
    "resultCode":"SUCCESS",
    "resultMsg": "result message"
}

2

acquirementId

Unique Alipay transaction ID.

Note: This field is required when resultInfo.resultCode is SUCCESS.

string

64

C

2015032412007101547201351234

3

merchantTransId 

Unique merchant transaction ID.

Note: This field is required when resultInfo.resultCode is SUCCESS.

string

64

CE

51051001000000001234

4

orderAmount

Order amount.

Note: This field is required when resultInfo.resultCode is SUCCESS.

Money

/

C

Should be exactly same as orderAmount passed in the request

{"currency":"USD", "value":"239"}

5

payAmount

User actual paid amount.

Note: This field is required when resultInfo.resultCode is SUCCESS and payCurrencyDifferentWithOrderCurrency is true.

Money

/

C

May have different currency with orderAmount.

{"currency":"CNY", "value":"1481"}

6

conversionRate

The conversion rate.

Note: This field is required when resultInfo.resultCode is SUCCESS and payCurrencyDifferentWithOrderCurrency is true.

ExchangeRate

/

C

The exchage rate between orderAmount and payAmount.

{
"baseCurrency":"USD",
"exchangeCurrency":"CNY",
"rate":"6.9123"
}

7

createTime

The creation time of the transaction.

Note: This field is required when resultInfo.resultCode is SUCCESS.

datetime

/

C

DateTime with timezone, which follows the ISO-8601 standard. 
Refer to: RFC 3339 Section 5.6

2001-07-04T12:08:56+05:30

8

userSite

The payment user site.

Note: This field is required when resultInfo.resultCode is SUCCESS.

enum<SiteEnum

>

64

M

ALIPAY_CN

9

userId

The user ID in the payment site

string

64

O

Not provided by default

2088123456789012

10

userLoginId

The login ID of the payment site.

string

64

O

Not provided by default. The login ID is provided in a masked format to protect customer privacy.

c***@gmail.com

11

extendInfo

Reserved for extended information

string

2048

O

{"isEnterpriseUser":"true", "enterpriseUserName":"seller"}

Response sample

copy
{
    "response":{
        "head":{
            "version":"2.0.0",
            "function":"alipay.intl.acquiring.offline.pay",
            "clientId":"211020000000000000044",
            "respTime":"2001-07-04T12:08:56+05:30",
            "reqMsgId":"1234567asdfasdf1123fda",
            "reserve":"{}"
        },
        "body":{
            "resultInfo":{
                "resultStatus":"S",
                "resultCodeId":"00000000",
                "resultCode":"SUCCESS",
                "resultMsg":"success"
            },
            "acquirementId":"2015032412007101547201351234",
            "merchantTransId":"51051001000000000002",
            "orderAmount":{
                "currency":"USD",
                "value":"239"
            },
            "createTime":"2001-07-04T12:08:56+05:30",
            "userSite":"ALIPAY_CN",
            "userId":"2088123456789012",
            "userLoginId":"c***@gmail.com",
            "extendInfo":"{\"isEnterpriseUser\":\"true\", \"enterpriseUserName\":\"seller\"}"
        }
    },
    "signature":"signature string"
}

Result codes

Functional logic result codes

No

ResultCodeId

ResultCode

ResultStatus

Remarks

1

00000025

REPEAT_REQ_INCONSISTENT

F

Repeated submit, and requests are inconsistent.

2

00000011

RISK_REJECT

F

Payment is declined by risk control.

3

QUERY_CONTRACT_VALUE_NULL

F

The query contract value is null.

4

CONTRACT_STATUS_INVALID

F

The status of the contract is invalid.

5

12002005

USER_NOT_EXIST

F

User does not exist

6

12002006

USER_STATUS_ABNORMAL

F

User status is not normal.

7

12005001

CURRENCY_NOT_SUPPORT

F

Transaction currency is invalid.

8

12005104

AMOUNT_EXCEED_LIMIT

F

The amount exceeds the limit.

9

12005128

COUNT_EXCEED_LIMIT

F

Count exceeds the limit.

10

12006004

USER_BALANCE_NOT_ENOUGH

F

User balance is not enough.

11

12005131

IDENTITY_CODE_INVALID

F

The identity code is invalid.

12

12005132

IDENTITY_CODE_NOT_SUPPORT

F

The format of identity code is NOT supported, e.g. the identity code is from an unsupported wallet. 

13

12005124

PAYMENT_IN_PROCESS

U

The payment is still under process.

14

12005100

ORDER_IS_CLOSED

F

The order status is closed. 

15

12005003

ORDER_STATUS_INVALID

F

The order status is invalid. 

16

12002046

USER_AMOUNT_EXCEED_LIMIT

F

User amount exceeds the limit.

17

12002004

USER_REALNAME_STATUS_INVALID

F

This user needs to complete real name validation.

18

12002010

USER_NO_PAYMENT_INSTRUMENT

F

This user has no payment instrument.

19

12002003

USER_BALANCE_PAY_OFF

F

This user turns the basic payment capability off.

Basic result codes

The following global result codes might be returned for all APIs.

No

ResultCodeId

ResultCode

ResultStatus

Remarks

1

00000000

SUCCESS

S

Success

2

00000019

PROCESS_FAIL

F

General business failure. No retry.

3

00000901

UNKNOWN_EXCEPTION

U

API failed due to unknown reasons.

4

00000004

PARAM_ILLEGAL

F

Illegal parameters. For example, non-numeric input, invalid date.

5

00000007

INVALID_SIGNATURE

F

The signature is invalid.

6

00000008

KEY_NO_FOUND

F

The key is not found.

7

00000013

NO_INTERFACE_DEF

F

API is not defined,

8

00000014

API_IS_INVALID

F

API is invalid or not active,

9

00000016

OAUTH_FAILED

F

oAuth authentication failed.

10

00000021

ACCESS_DENIED

F

Access denied

11

12014152

CLIENT_FORBIDDEN_ACCESS_API

F

The client is not authorized to use this API.

12

12014155

UNKNOWN_CLIENT

F

Unknown client

13

12014156

INVALID_CLIENT_STATUS

F

Invalid client status

14

00000024

REQUEST_TRAFFIC_EXCEED_LIMIT

F

Request traffic exceeds the limit.