跳转至

BCP

集成指引

从响应中获取到'referenceNumber'和'company'字段后, 按照以下流程完成支付。

  1. 登录 www.viabcp.com 或通过手机上的 BCP 应用程序登录您的账户。

  2. 选择 “服务付款 ”部分并输入公司名称 DLOCAL。

  3. 然后输入交易参考号 **** 和金额完成支付。

HTTP请求

POST /v1/payments/charges/bcp

Request Headers
{
    "Content-Type": "application/json",
    "Authorization": "Bearer {{access_token}}",
    "x-api-key": "{{api_key}}"
}
Request Body
{
    "idempotencyKey": "1ec983fa-1a37-679b-809b-067861d87ab0",
    "amount": 500,
    "currency": "PEN",
    "country": "PE",
    "paymentMethod": "BCP",
    "paymentFlow": "DIRECT",
    "payer": {
        "name": "username",
        "email": "username@liquido.com",
        "phone": "+51 1234567890",
        "document": {
            "documentId": "700254258",
            "type": "DNI"
        },
        "billingAddress": {  
            "zipCode": "03400",
            "state": "CDMX",
            "city": "Álamos",
            "street": "Simón Bolívar",
            "number": "12121"
        }
    },
    "payValida": {
        "redirectUrl": "https://your-domain/checkout-page"
    },
    "orderInfo": {  
        "orderId": "test-order-id",  
        "shippingInfo": { 
            "name": "shipping test name",  
            "phone": "shipping phone",  
            "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": "zip code, postal code",
                "country": "PE"
            }
        }
    },
    "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": "BCP",
    "amount": 500,
    "currency": "PEN",
    "country": "PE",
    "finalAmount": 500,
    "finalCurrency": "PEN",
    "createTime": "2022-09-09 00:26:32 GMT-07:00",
    "scheduledTime": "2022-09-09 00:26:32 GMT-07:00",
    "finalStatusTime": null,
    "payer": {
        "name": "Thiago Gabriel",
        "email": "thiago@example.com",
        "phone": "+51 1234567890",
        "document": {
            "documentId": "700254258",
            "type": "DNI"
        },
        "billingAddress": {
            "street": "street name",
            "number": "building number",
            "complement": "unit, apt, etc.",
            "district": "district, neighborhood, etc.",
            "city": "city name",
            "state": "state, state code",
            "zipCode": "zip code, postal code",
            "country": "PE"
        }
    },
    "transferStatus": "IN_PROGRESS",
    "description": "hello world",
    "callbackUrl": "https://api.liquido.com/v1/cashier/callback/",
    "transferDetails": {
        "bcp": {
            "expiresAt": 1724561940,
            "referenceNumber": "489003",
            "company": "dlocal"
        }
    },
    "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": "BCP",
            "amount": 500,
            "currency": "PEN",
            "country": "PE",
            "finalAmount": 500,
            "finalCurrency": "PEN",
            "createTime": "2022-09-09 00:26:32 GMT-07:00",
            "scheduledTime": "2022-09-09 00:26:32 GMT-07:00",
            "finalStatusTime": null,
            "payer": {
                "name": "Thiago Gabriel",
                "email": "thiago@example.com",
                "phone": "+51 1234567890",
                "document": {
                    "documentId": "700254258",
                    "type": "DNI"
                },
                "billingAddress": {
                    "street": "street name",
                    "number": "building number",
                    "complement": "unit, apt, etc.",
                    "district": "district, neighborhood, etc.",
                    "city": "city name",
                    "state": "state, state code",
                    "zipCode": "zip code, postal code",
                    "country": "PE"
                }
            },
            "transferStatus": "IN_PROGRESS",
            "description": "hello world",
            "callbackUrl": "https://api.liquido.com/v1/cashier/callback/",
            "transferDetails": {
                "bcp": {
                    "expiresAt": 1724561940,
                    "referenceNumber": "489003",
                    "company": "dlocal"
              }              
            },
            "subMerchantId": "UUID"
        }
    }
}

HTTP Headers 字段说明

Key Value
Authorization "bearer" + " " + {{access_token}}
x-api-key {{api_key}}

Request Body 字段说明

参数 必填 类型 描述
idempotencyKey String 商户系统创建的唯一ID, 长度不大于128个字节。
amount Long 收款金额,单位是货币最小粒度。 如 1 = 0.01PEN
country String 国家编号国际缩写码,遵循ISO 3166-1 alpha-2 code标准, 如秘鲁PE
currency String 货币代码,如秘鲁新索尔PEN
paymentMethod String 交易方式,枚举值BCP
paymentFlow String 交易流程, 如DIRECT 或 REDIRECT
payer JSON 买家个人信息
orderInfo JSON 订单信息
description String 描述
callbackUrl String 接收交易状态变更通知的地址,接收post请求
subMerchantId String 子商户ID。商户类型为PSP时必填。
riskData JSON 支付的风险信息。MERCHANT_APP_NAMEMERCHANT_WEBSITE 在riskData中必须填一个。 请参考这里查看更多详情。
创建一个带风控信息的支付

请参考这里查看更多详情。

Payer 对象字段说明
参数 必填 类型 描述
name String 名字,全称(入参名字规范:只允许大小写字母,数字和空格的组合。请勿包含西班牙语和葡萄牙语字母,以及其他特殊字符。)
email String 邮箱
document JSON 支付人的身份信息
phone String 电话号码,需包含“+51”的前缀。
billingAddress JSON 账单邮寄地址

Document 对象字段说明

参数 必填 类型 描述
documentId String 证件号码
type String 证件类型,如DNI
BillingAddress 对象字段说明
参数 必填 类型 描述
zipCode String 邮政编码
state String
city String 城市
street String 街道
number String 门牌号
OrderInfo 对象字段说明
参数 必填 类型 描述
orderId String 订单号
shippingInfo JSON 运输信息
ShippingInfo 对象字段说明
参数 必填 类型 描述
name String 名称
phone String 电话号码,需包含“+51”的前缀。
email String 邮箱地址
address JSON 地址信息,结构和billingAddress一致

Response Body 字段说明

参数 类型 描述
transferStatus String 汇款状态,枚举值,"SETTLED", "FAILED", "IN_PROGRESS"
transferStatusCode Integer 此次交易的状态码, 200表示交易成功或者进行中, 其他代表失败
transferErrorMsg String 此次交易失败原因
referenceId String 此次交易的ID
idempotencyKey String 此参数用于幂等目的,交易的唯一标识ID,长度不大于128个字节。
amount Long 收款金额
country String 国家编码 PE
currency String 收款货币代码,长度为3个字节,PEN
finalAmount Long 用于创建收款订单的最终金额。对于需要转换汇率的收款订单,这个字段的值表示源请求金额被转换后的金额。
finalCurrency String finalAmount的收款货币代码
paymentMethod String 支付方式. 枚举值 BCP
payer JSON 付款人信息
transferDetails JSON 交易类型的详细信息
description String 描述信息
callbackUrl String 商户接收通知的回调地址. 接收http的get请求
createTime String 创建时间
scheduledTime String 执行时间
finalStatusTime String 最终状态更新时间. 最终状态,包括"REFUNDED", "FAILED"
subMerchantId String 子商户ID。
TransferDetails 对象字段说明
参数 类型 描述
bcp JSON bcp的详细信息

Bcp 对象字段说明

参数 类型 描述
referenceNumber String 支付者支付时使用的交易号码
expiresAt Long 交易过期时间的时间戳
company String 支付服务商的名字:dlocal

支付状态

参数 描述
IN_PROGRESS 交易处理中
SETTLED 交易完成
REFUNDING 退款中
REFUNDED 已退款
CHARGED_BACK 拒付
FAILED 交易失败,异常

Notification 事件类型

CHARGE_SUCCEEDED,
CHARGE_FAILED,
CHARGE_CHARGED_BACK,
CHARGE_REFUND_SUCCEEDED,
CHARGE_REFUND_FAILED;
回到页面顶部