You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确为ChipDNA Server配置文件添加第二个PinPad?

解决ChipDNA Server添加多PinPad时的"DuplicatePaymentDevice"错误

嘿,我之前配置多PinPad的时候也踩过这个坑,结合CreditCall ChipDNA Server的实际运行逻辑,给你几个靠谱的排查方向:

1. 为每个PinPad创建独立的节点

ChipDNA Server的<Terminal>节点本质对应单个终端实例,默认情况下一个Terminal只能绑定一个PaymentDevice。你把两个PaymentDevice放在同一个Terminal下,就会触发这个重复设备的错误。正确的做法是给每个PinPad单独配置一个节点,确保每个Terminal的TerminalId唯一(即使共用同一个TransactionKey也没问题)。

修改后的配置示例:

<?xml version="1.0" encoding="utf-8"?>
<ChipDnaServer version="1.0.0"> 
  <MachineName>localhost</MachineName> 
  <ApplicationIdentifier>CBXTEST</ApplicationIdentifier> 
  <Socket>192.168.1.164:1869</Socket> 
  <Terminals> 
    <!-- 第一个PinPad对应的Terminal -->
    <Terminal> 
      <TerminalId>99961609</TerminalId> 
      <TransactionKey>0gmKTUTZdwQDT5AV</TransactionKey> 
      <PaymentDevices> 
        <PaymentDevice> 
          <Model>Creditcall-Virtual-Attended</Model> 
          <Id>29252553</Id> 
          <Protocol>TCPIP</Protocol> 
          <Port>1870</Port> 
          <Address>192.168.1.250</Address> 
          <Baudrate>9600</Baudrate> 
          <Parity>none</Parity> 
          <Stopbits>1</Stopbits> 
          <Databits>8</Databits> 
          <StandbyMessage>Welcome to CBX Jose!</StandbyMessage> 
        </PaymentDevice> 
      </PaymentDevices> 
    </Terminal>
    <!-- 第二个PinPad对应的Terminal -->
    <Terminal> 
      <TerminalId>99961610</TerminalId> <!-- 使用新的唯一TerminalId -->
      <TransactionKey>0gmKTUTZdwQDT5AV</TransactionKey> 
      <PaymentDevices> 
        <PaymentDevice> 
          <Model>Creditcall-Virtual-Attended</Model> 
          <Id>29252555</Id> 
          <Protocol>TCPIP</Protocol> 
          <Port>1871</Port> <!-- 更换端口避免潜在冲突 -->
          <Address>192.168.1.267</Address> 
          <Baudrate>9600</Baudrate> 
          <Parity>none</Parity> 
          <Stopbits>1</Stopbits> 
          <Databits>8</Databits> 
          <StandbyMessage>Welcome to CBX Jose!</StandbyMessage> 
        </PaymentDevice> 
      </PaymentDevices> 
    </Terminal>
  </Terminals> 
  <Tms> 
    <Servers> 
      <Server> 
        <Url>https://testtms.cardeasexml.com</Url> 
        <Timeout>45000</Timeout> 
      </Server> 
    </Servers> 
  </Tms>
</ChipDnaServer>

2. 排查端口与设备ID的唯一性

  • 虽然两个PinPad的IP不同,但同一个Terminal下的设备端口最好保持唯一,避免潜在的端口监听冲突;
  • 确认两个PaymentDevice的Id在TMS服务器上没有被重复绑定,登录TMS后台检查设备的关联状态,确保每个设备ID只对应一个终端。

3. 验证XML配置的语法完整性

有时候XML的隐式语法错误(比如多余的空格、标签未正确闭合)也会导致奇怪的错误码,你可以用XML校验工具检查修改后的配置文件,确保语法完全合规。

4. 重启ChipDNA Server加载新配置

如果修改配置后仍然报错,建议完全关闭ChipDNA Server进程再重新启动,避免旧配置的缓存干扰新配置的加载。

内容的提问来源于stack exchange,提问作者DaWiseguy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:08:01