接入说明

文档修订记录

接入事项

对接环境相关参数

uat环境地址

https://dev-paas-gateway.e-buy.com

pro环境地址

找对应运营人员提供

相关密钥

找对应运营人员开通 paas租户接入账户(appId、appSecret),还请妥善保管避免

签名相关

交互方式为HTTPS协议,提交方式为POST,字符集为:UTF-8

算法为 SHA-256,字符集为:UTF-8,将请求体byte转为16进制,获取签名串

参与签名完整字符串拼接如:

action=makeCode&appId=ebuydfc6fd99ee14&content={"item":{"makeFundsChannel":{"benefitAmount":0,"channelBenefit":0,"discountAmount":0,"merchantBenefit":0,"merchantCustomBenefit":-1,"merchantCustomRealAmount":-1,"merchantRealAmount":0,"totalAmount":0,"userRealAmount":0},"outerOrderItemId":"1655535941106124","ticketId":1000000010947},"outerOrderId":"1655535941106124"}&lang=zh-CN&signType=sha256&timestamp=1655609300931&uuid=20220619-c9b8735302214183a599e8d4fdaa81d9&i79zzmh1vwkdhefmwp7yh2h11w4094m3

appSecret 需要申请开通对应的租户app获取,demo中为 【i79zzmh1vwkdhefmwp7yh2h11w4094m3】

注意参与签名字符串需要拼接&密钥,参与生成签名

请求demo

{
    "action": "makeCode",
    "appId": "ebuydfc6fd99ee14",
    "content": "{\"item\":{\"makeFundsChannel\":{\"benefitAmount\":0,\"channelBenefit\":0,\"discountAmount\":0,\"merchantBenefit\":0,\"merchantCustomBenefit\":-1,\"merchantCustomRealAmount\":-1,\"merchantRealAmount\":0,\"totalAmount\":0,\"userRealAmount\":0},\"outerOrderItemId\":\"1655535941106124\",\"ticketId\":1000000010947},\"outerOrderId\":\"1655535941106124\"}",
    "headers": {
        "paas-version": "1.1.0"
    },
    "lang": "zh-CN",
    "sign": "b306f50243ecbd78ba454043cd4e6f63fc5e88d1cdf2dfb5aa7b503aec8ae3ee",
    "signType": "sha256",
    "timestamp": 1655609300931,
    "uuid": "20220619-c9b8735302214183a599e8d4fdaa81d9"
}
请求响应demo
{
    "action": "makeCode",
    "errorCode": "50",
    "errorMessage": "业务处理错误,单个制码销售渠道信息[ebuydfc6fd99ee14]为空",
    "sign": "2073ee120e7d396d227fdddcd64f1ce3e186c106af6c968c83b6a7b1e7ba1dcb",
    "signType": "sha256",
    "success": false,
    "timestamp": 1655607812062,
    "uuid": "20220619-e18fc85ee1fb43efb0b7077fe3a80274"
}

相关说明

相关名词解释

对接demo

package com.ebuytech.paas.micro.eocupon.sdk.test;

import com.alibaba.fastjson.JSON;
import com.ebuytech.paas.micro.ecoupon.sdk.client.DefaultPaasClient;
import com.ebuytech.paas.micro.ecoupon.sdk.constant.ApiInterface;
import com.ebuytech.paas.micro.ecoupon.sdk.exception.SDKException;
import com.ebuytech.paas.micro.ecoupon.sdk.model.AuthConfig;
import com.ebuytech.paas.micro.ecoupon.sdk.model.bo.FundsChannelBO;
import com.ebuytech.paas.micro.ecoupon.sdk.model.req.PaasRequest;
import com.ebuytech.paas.micro.ecoupon.sdk.model.req.make.MakeCodeRequest;
import com.ebuytech.paas.micro.ecoupon.sdk.model.req.make.MakeCodeRequestItem;
import com.ebuytech.paas.micro.ecoupon.sdk.model.res.PaasResponse;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.math.BigDecimal;

/**
 * <pre>
 * 同步制码
 * </pre>
 *
 * @author jysemel
 * @version 2022/7/11 15:20
 */
@Slf4j
@SpringBootTest
public class EcouponMakeCodeTest {

    public static DefaultPaasClient defaultPaasClient = new DefaultPaasClient("https://dev-paas-gateway.e-buy.com");


    @Test
    public void makeCodeTest() throws SDKException {
        AuthConfig authConfig = new AuthConfig();
        authConfig.setAppId("ebuy439fec8ce941");
        authConfig.setAppSecret("dc548cadfbb8aa92c57a2944a3d38ea8");
        //请求体
        MakeCodeRequest makeCodeRequest = new MakeCodeRequest();
        makeCodeRequest.setOuterOrderId("UbZh2QVL");
        //制码订单
        MakeCodeRequestItem requestItem = new MakeCodeRequestItem();
        requestItem.setOuterOrderItemId("UbZh2QVL");
        requestItem.setCodeCount(1);
        requestItem.setTicketId(1031000000014283L);
        //制码资金渠道
        FundsChannelBO fundsChannelBO = new FundsChannelBO();
        fundsChannelBO.setTotalAmount(new BigDecimal(89));
  //      fundsChannelBO.setUserRealAmount(new BigDecimal(89));
        requestItem.setMakeFundsChannel(fundsChannelBO);
        makeCodeRequest.setItem(requestItem);

        PaasRequest request = new PaasRequest();
  //      request.getHeaders().put("paas-darklaunch", "DarkLaunch");
        request.setContent(JSON.toJSONString(makeCodeRequest));

        PaasResponse response = defaultPaasClient.execute(request, ApiInterface.makeCode.getApiUrl(), authConfig);
        log.info("----{}", JSON.toJSONString(request));
        log.info("----{}", JSON.toJSONString(response));
    }
}