Skip to content

B2B订单类接口

创建B2B采购订单

场景:B2B订单创建接口,服务商通过此接口创建B2B类型采购订单。

调用方法B2BOrders.create
SDK 示例(Java)
java
import com.gc365.sznr.sdk.api.b2b.B2BOrders;
import com.gc365.sznr.sdk.model.b2b.OrdersCreateB2BParam;
import com.gc365.sznr.sdk.model.b2b.OrdersCreateB2BParam.Product;
import java.math.BigDecimal;
import java.util.Arrays;

// 构建商品列表
Product product = Product.builder()
    .goodTypeNames("蔬菜>绿色蔬菜>青菜")
    .productManagementName("有机青菜")
    .expectNumber(new BigDecimal("100"))
    .expectUnits("公斤")
    .expectUnitPrice(new BigDecimal("5.50"))
    .expectPrice(new BigDecimal("550.00"))
    .postMode(0)
    .purchaseDistrictId("110101")
    .purchaseAddress("北京市东城区某某街道某某号")
    .demand("新鲜无虫害")
    .build();

// 构建请求参数
OrdersCreateB2BParam param = OrdersCreateB2BParam.builder()
    .businessNo("BUSINESS20240126001")
    .supplierName("XX农业科技有限公司")
    .supplierUscc("91110000XXXXXXXXXX")
    .customerName("XX食品有限公司")
    .customerUscc("91110000XXXXXXXXXX")
    .bankNo("6222021234567890123")
    .bankName("中国工商银行北京分行")
    .totalPrice(new BigDecimal("550.00"))
    .products(Arrays.asList(product))
    .build();

// 调用接口
OrdersCreateB2B result = B2BOrders.create(param);
System.out.println("订单号: " + result.getPurchaseOrderNo());
POST/open-api/ncp-purchase-order/b2b/create
请求参数
businessNostring必需
业务请求流水号,必须保持唯一性
最大长度 50
supplierNamestring必需
供应商名称
最大长度 100
supplierUsccstring必需
供应商统一社会信用代码(纳税人识别号)
最大长度 21
customerNamestring必需
采购商名称
最大长度 100
customerUsccstring必需
采购商统一社会信用代码
最大长度 21
bankNostring必需
供应商银行卡号
最大长度 50
bankNamestring必需
供应商开户行
最大长度 100
totalPricenumber必需
商品总金额
decimal(12, 2),最多保留 2 位小数
invoiceRemarkstring可选
发票备注,自定义发票备注
最大长度 450
响应参数
msgstring可选
显示消息内容
codeinteger必需
响应码,200 表示接口请求正常

B2B订单支付开票

场景:配合B2B订单创建接口使用,调用创建B2B订单后服务商通过调用支付开票接口发起支付开票申请。

调用方法B2BOrders.payInvoice
SDK 示例(Java)
java
import com.gc365.sznr.sdk.api.b2b.B2BOrders;
import com.gc365.sznr.sdk.model.b2b.OrdersPayAndInvoiceB2BParam;

OrdersPayAndInvoiceB2BParam param = OrdersPayAndInvoiceB2BParam.builder()
    .purchaseOrderNo("PO20240126001")
    .build();

B2BOrders.payInvoice(param);
POST/open-api/ncp-purchase-order/b2b/pay-and-invoice
请求参数
purchaseOrderNostring可选
采购订单编号(与外部业务流水号二选一)
最大长度 32
businessNostring可选
外部业务流水号(与采购订单编号二选一)
最大长度 50
响应参数
msgstring可选
错误消息
codeinteger必需
响应码,200 表示正常
dataobject可选
数据有就显示,没有就不显示

B2B订单查询

场景:发起B2B订单支付开票后,服务商可通过此接口查询B2B订单详情。

调用方法B2BOrders.one
SDK 示例(Java)
java
import com.gc365.sznr.sdk.api.b2b.B2BOrders;
import com.gc365.sznr.sdk.model.b2b.OrdersQueryOneParam;
import com.gc365.sznr.sdk.model.b2b.OrdersQueryOne;

// 通过订单号查询
OrdersQueryOneParam param = OrdersQueryOneParam.builder()
    .purchaseOrderNo("PO20240126001")
    .build();

OrdersQueryOne result = B2BOrders.one(param);
POST/open-api/ncp-purchase-order/one-v2
请求参数
purchaseOrderNostring可选
采购订单编号,传创建订单时的请求订单号
最大长度 64
businessNostring可选
业务请求流水号,与采购订单编号至少传一个
响应参数
msgstring可选
错误消息
codeinteger必需
响应码,200 表示正常

B2B订单回执URL

场景:批量查询B2B已完成交易的支付订单回单信息,支持银行和微信支付回单数据查询。

调用方法B2BOrders.receiptUrl
SDK 示例(Java)
java
import com.gc365.sznr.sdk.api.b2b.B2BOrders;
import com.gc365.sznr.sdk.model.b2b.OrdersReceiptUrlParam;
import java.util.Arrays;

OrdersReceiptUrlParam param = OrdersReceiptUrlParam.builder()
    .purchaseOrderNos(Arrays.asList("PO20240126001"))
    .build();

OrdersReceiptUrl result = B2BOrders.receiptUrl(param);
System.out.println("回执URL: " + result.getReceiptUrls());
POST/open-api/ncp-purchase-order/receipt-url
请求参数
purchaseOrderNosarray[string]可选
采购订单号数组,创建订单时生成的采购订单号,与 businessNos 二选一
businessNosarray[string]可选
外部单号数组,与 purchaseOrderNos 二选一
响应参数
msgstring可选
错误消息
codeinteger必需
响应码,200 表示正常