PSE转账
集成指引
创建交易后,您需要轮询直至响应的 ‘transferDetails’ 属性的 ‘pse’ 对象中,包含名为 ‘paymentUrl’ 的字段。当获取到这个字段后,您需要把买家重定向到该URL,以在相应的金融机构中完成交易。
HTTP请求
POST
/v1/payments/charges/pse
Request Headers
{
"Content-Type": "application/json",
"Authorization": "Bearer {{access_token}}",
"x-api-key": "{{api_key}}"
}
Request Body
{
"idempotencyKey": "1ec983fa-1a37-679b-809b-067861d87ab0",
"amount": 200000,
"currency": "COP",
"country": "CO",
"paymentMethod": "PSE",
"paymentFlow": "DIRECT",
"pse": {
"personType": "NATURAL",
"financialInstitutionCode": "1"
},
"payer": {
"name": "username",
"email": "username@liquido.com",
"document": {
"documentId": "42212345678",
"type": "CC"
},
"phone": "+57 3123456789",
"billingAddress": {
"zipCode": "111111",
"state": "Cundinamarca",
"city": "Bogotá",
"street": "Apartamento 502, Torre I",
"number": "Calle 34 # 56 - 78"
}
},
"orderInfo": {
"orderId": "test-order-id",
"shippingInfo": {
"name": "shipping test name",
"phone": "+57 3123456789",
"email": "thiago@example.com",
"address": {
"street": "street name",
"number": "building number",
"complement": "unit, apt, etc.",
"district": "district, neighborhood, etc.",
"city": "city name",
"state": "state, state code",
"zipCode": "111111",
"country": "CO"
}
}
},
"description": "this is a test pay",
"callbackUrl": "https://api.client.com/callback/",
"subMerchantId": "UUID"
}
Content-Type: application/json
{
"transferStatusCode": 200,
"transferErrorMsg": null,
"idempotencyKey": "1ec983fa-1a37-679b-809b-067861d87ab0",
"referenceId": "1ec983fa-1a37-679b-809b-067861d87ab0",
"paymentMethod": "PSE",
"amount": 200000,
"currency": "COP",
"country": "CO",
"finalAmount": 200000,
"finalCurrency": "COP",
"createTime": "2022-03-01 17:53:18 GMT-08:00",
"scheduledTime": "2022-03-01 17:53:18 GMT-08:00",
"finalStatusTime": "2022-03-01 17:53:18 GMT-08:00",
"payer": {
"name": "username",
"email": "username@liquido.com",
"document": {
"documentId": "42212345678",
"type": "CC"
},
"phone": "+57 3123456789",
"billingAddress": {
"zipCode": "111111",
"state": "Cundinamarca",
"city": "Bogotá",
"street": "Apartamento 502, Torre I",
"number": "Calle 34 # 56 - 78"
}
},
"transferDetails": {
"pse": {
"paymentUrl": "https://registro.pse.com.co/PSENF/index.html?enc=DyGVt9V2EEGQ0%2bJZib7Itj8aNzDWHkvmPFJFVKZhOtQ%3d"
}
},
"transferStatus": "SETTLED",
"description": "this is a test pay",
"callbackUrl": "https://api.client.com/callback/",
"subMerchantId": "UUID"
}
通知 / 回调
Content-Type: application/json
{
"eventType": "CHARGE_SUCCEEDED",
"data": {
"chargeDetails": {
"transferStatusCode": 200,
"transferErrorMsg": null,
"idempotencyKey": "1ec983fa-1a37-679b-809b-067861d87ab0",
"referenceId": "1ec983fa-1a37-679b-809b-067861d87ab0",
"paymentMethod": "PSE",
"amount": 200000,
"currency": "COP",
"country": "CO",
"finalAmount": 200000,
"finalCurrency": "COP",
"createTime": "2022-03-01 17:53:18 GMT-08:00",
"scheduledTime": "2022-03-01 17:53:18 GMT-08:00",
"finalStatusTime": "2022-03-01 17:53:18 GMT-08:00",
"payer": {
"name": "username",
"email": "username@liquido.com",
"document": {
"documentId": "42212345678",
"type": "CC"
},
"phone": "+57 3123456789",
"billingAddress": {
"zipCode": "111111",
"state": "Cundinamarca",
"city": "Bogotá",
"street": "Apartamento 502, Torre I",
"number": "Calle 34 # 56 - 78"
}
},
"transferStatus": "SETTLED",
"transferDetails": {
"pse": {
"paymentUrl": "https://registro.pse.com.co/PSENF/index.html?enc=DyGVt9V2EEGQ0%2bJZib7Itj8aNzDWHkvmPFJFVKZhOtQ%3d"
}
},
"description": "this is a test pay",
"callbackUrl": "https://api.client.com/callback/",
"subMerchantId": "UUID"
}
}
}
HTTP Headers 字段说明
Key | Value |
---|---|
Authorization | "bearer" + " " + {{access_token}} |
x-api-key | {{api_key}} |
Request Body 字段说明
参数 | 必填 | 类型 | 描述 |
---|---|---|---|
idempotencyKey | String | 商户系统创建的唯一ID, 长度不大于128个字节。 | |
amount | Long | 转账金额,单位是货币最小粒度,如100=1COP。最低交易金额为1000COP | |
country | String | 国家编号国际缩写码,遵循ISO 3166-1 alpha-2 code标准, 如哥伦比亚CO | |
currency | String | 货币代码,如哥伦比亚COP | |
paymentMethod | String | 交易方式,枚举值PSE | |
paymentFlow | String | 交易流程, DIRECT | |
payer | JSON | 买家个人信息 | |
orderInfo | JSON | 订单信息 | |
description | String | 提供正在支付的商品或服务的名称 | |
callbackUrl | String | 接收交易状态变更通知的地址,接收post请求 | |
pse | JSON | PSE相关支付信息 | |
subMerchantId | String | 子商户ID。商户类型为PSP时必填。 | |
riskData | JSON | 支付的风险信息。MERCHANT_APP_NAME 或 MERCHANT_WEBSITE 在riskData中必须填一个。 请参考这里查看更多详情。 |
创建一个带风控信息的支付
请参考这里查看更多详情。
Payer 对象字段说明
参数 | 必填 | 类型 | 描述 |
---|---|---|---|
name | String | 名字,全称(入参名字规范:只允许大小写字母,数字和空格的组合。请勿包含西班牙语和葡萄牙语字母,以及其他特殊字符。) | |
String | 邮箱 | ||
document | JSON | 支付人的身份信息 | |
phone | String | 电话号码,需包含“+57”的前缀。 | |
billingAddress | JSON | 账单邮寄地址 |
BillingAddress 对象字段说明
参数 | 必填 | 类型 | 描述 |
---|---|---|---|
zipCode | String | 邮政编码 | |
state | String | 州 | |
city | String | 城市 | |
street | String | 街道 | |
number | String | 门牌号 |
PSE 对象字段说明
Parameter | Required | Type | Description |
---|---|---|---|
financialInstitutionCode | String | 付款人进行交易的金融机构代码。 (您可以参考这里获取金融机构列表) |
|
personType | String | 指定付款人的类型,枚举值为NATURAL或LEGAL | |
redirectUrl | String | 支付完成后Liquido将重定向到的URL |
Document 对象字段说明
参数 | 必填 | 类型 | 描述 |
---|---|---|---|
documentId | String | 证件号码 | |
type | String | 证件类型,CC、CE或NIT |
OrderInfo 对象字段说明
参数 | 必填 | 类型 | 描述 |
---|---|---|---|
orderId | String | 订单号 (字段仅当对象有被提供时必填) |
|
shippingInfo | JSON | 运输信息 |
ShippingInfo 对象字段说明
参数 | 必填 | 类型 | 描述 |
---|---|---|---|
name | String | 名称 | |
phone | String | 电话号码,需包含“+57”的前缀。 (字段仅当对象有被提供时必填) |
|
String | 邮箱地址 | ||
address | JSON | 发货地址 (字段仅当对象有被提供时必填) |
ShippingAddress 对象字段说明
Parameter | Required | Type | Description |
---|---|---|---|
zipCode | String | 邮政编码 | |
state | String | 州 (字段仅当对象有被提供时必填) |
|
city | String | 城市 (字段仅当对象有被提供时必填) |
|
street | String | 街道 (字段仅当对象有被提供时必填) |
|
number | String | 门牌号 (字段仅当对象有被提供时必填) |
Response Body 字段说明
参数 | 类型 | 描述 |
---|---|---|
transferStatus | String | 汇款状态,枚举值,"SETTLED", "FAILED", "IN_PROGRESS" |
transferStatusCode | Integer | 此次交易的状态码, 200表示交易成功或者进行中, 其他代表失败 |
transferErrorMsg | String | 此次交易失败原因 |
referenceId | String | 此次交易的ID |
idempotencyKey | String | 此参数用于幂等目的,交易的唯一标识ID,长度不大于128个字节。 |
amount | Long | 收款金额 |
country | String | 国家编码 CO |
currency | String | 收款货币代码,长度为3个字节,COP |
finalAmount | Long | 用于创建收款订单的最终金额。对于需要转换汇率的收款订单,这个字段的值表示源请求金额被转换后的金额 |
finalCurrency | String | finalAmount的收款货币代码 |
paymentMethod | String | 支付方式. 枚举值, PSE |
payer | JSON | 付款人信息 |
transferDetails | JSON | 交易类型的详细信息 |
description | String | 描述信息 |
callbackUrl | String | 商户接收通知的回调地址. 接收http的get请求 |
createTime | String | 创建时间 |
scheduledTime | String | 执行时间 |
finalStatusTime | String | 最终状态更新时间. 最终状态,包括"REFUNDED", "FAILED" |
subMerchantId | String | 子商户ID。 |
TransferDetails 对象字段说明
参数 | 类型 | 描述 |
---|---|---|
pse | JSON | PSE转账相关信息 |
PSE TransferDetails 对象字段说明
参数 | 类型 | 描述 |
---|---|---|
paymentUrl | String | 支付的url |
支付状态
参数 | 描述 |
---|---|
IN_PROGRESS | 交易处理中 |
SETTLED | 交易完成 |
REFUNDING | 退款中 |
REFUNDED | 已退款 |
CHARGED_BACK | 拒付 |
FAILED | 交易失败,异常 |