Как получить токен платежа при использовании Cybersource SOAP API

Итак, у меня есть тестовый платеж с помощью Cybersource 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>[email protected]</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 в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
494
1

Ответы 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>[email protected]</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>

Теперь в ответе будет указан идентификатор подписки, то есть ваш токен, который будет использоваться вместо номера карточного счета. Вы можете найти руководство по токенизации полезным.

Вы не должны раскрывать здесь свой merchantID и SOAP Key. Измените свой вопрос, чтобы удалить их.

Добро пожаловать, Ричард. Вы можете отметить это как ответ?

Will H 30.10.2018 13:53

Другие вопросы по теме