【问题标题】:How can I get a Payment Token when using Cybersource SOAP API使用 Cyber​​source SOAP API 时如何获取付款令牌
【发布时间】:2018-10-29 14:38:15
【问题描述】:

所以我有一个使用 Cyber​​source SOAP API 的测试付款,如下所示,但我无法让它返回一个付款令牌,我以后可以在不使用信用卡详细信息的情况下用于付款:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Header>
    <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <wsse:UsernameToken>
        <wsse:Username>{{merchant_id}}</wsse:Username>
        <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{{SOAP KEY}}</wsse:Password>
      </wsse:UsernameToken>
    </wsse:Security>
  </soapenv:Header>
  <soapenv:Body>
    <requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.150">
      <merchantID>{{merchant_id}}</merchantID>
      <merchantReferenceCode>kjdhflasjfhlasdjfasdf</merchantReferenceCode>
      <billTo>
        <firstName>John</firstName>
        <lastName>Doe</lastName>
        <street1>1295 Charleston Road</street1>
        <city>Mountain View</city>
        <state>CA</state>
        <postalCode>94043</postalCode>
        <country>US</country>
        <email>null@cybersource.com</email>
      </billTo>
      <item id="0">
        <unitPrice>5.00</unitPrice>
        <quantity>1</quantity>
      </item>
      <item id="1">
        <unitPrice>10.00</unitPrice>
        <quantity>2</quantity>
      </item>
      <purchaseTotals>
        <currency>ZMW</currency>
      </purchaseTotals>
      <card>
        <accountNumber>4111111111111111</accountNumber>
        <expirationMonth>11</expirationMonth>
        <expirationYear>2020</expirationYear>
        <cvNumber>123</cvNumber>
      </card>
      <ccAuthService run="true"/>
    </requestMessage>
  </soapenv:Body>
</soapenv:Envelope>

【问题讨论】:

    标签: php xml soap soapui cybersource


    【解决方案1】:

    将以下内容添加到您的请求中:

    <recurringSubscriptionInfo>
            <frequency>on-demand</frequency>
    </recurringSubscriptionInfo>
    <paySubscriptionCreateService run="true"/>
    

    您的新请求将如下所示:

    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
      <soapenv:Header>
        <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
          <wsse:UsernameToken>
            <wsse:Username>{{merchantID}}</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{{SOAPKey}}</wsse:Password>
          </wsse:UsernameToken>
        </wsse:Security>
      </soapenv:Header>
      <soapenv:Body>
        <requestMessage xmlns="urn:schemas-cybersource-com:transaction-data-1.150">
          <merchantID>{{merchantID}}</merchantID>
          <merchantReferenceCode>kjdhflasjfhlasdjfasdf</merchantReferenceCode>
          <billTo>
            <firstName>John</firstName>
            <lastName>Doe</lastName>
            <street1>1295 Charleston Road</street1>
            <city>Mountain View</city>
            <state>CA</state>
            <postalCode>94043</postalCode>
            <country>US</country>
            <email>null@cybersource.com</email>
          </billTo>
          <item id="0">
            <unitPrice>5.00</unitPrice>
            <quantity>1</quantity>
          </item>
          <item id="1">
            <unitPrice>10.00</unitPrice>
            <quantity>2</quantity>
          </item>
          <purchaseTotals>
            <currency>ZMW</currency>
          </purchaseTotals>
          <card>
            <accountNumber>4111111111111111</accountNumber>
            <expirationMonth>11</expirationMonth>
            <expirationYear>2020</expirationYear>
            <cvNumber>123</cvNumber>
          </card>
          <recurringSubscriptionInfo>
            <frequency>on-demand</frequency>
          </recurringSubscriptionInfo>
          <ccAuthService run="true"/>
          <paySubscriptionCreateService run="true"/>
        </requestMessage>
      </soapenv:Body>
    </soapenv:Envelope>
    

    响应中现在将包含一个订阅 ID,这是您用来代替卡帐号的令牌。您可能会发现 tokenization guide 很有用。

    您不应在此处公开您的商家 ID 和 SOAP 密钥。请编辑您的问题以删除它们。

    【讨论】:

    • 欢迎理查德。你能把它标记为答案吗?
    猜你喜欢
    • 2020-02-09
    • 2023-04-03
    • 2019-10-16
    • 1970-01-01
    • 2016-03-18
    • 2018-12-11
    • 2019-07-29
    • 2020-07-07
    • 2023-04-03
    相关资源
    最近更新 更多