<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Authentication Failed when Using Postman to Capture/Authorization Reversal in cybersource APIs</title>
    <link>https://community.developer.cybersource.com/t5/cybersource-APIs/Authentication-Failed-when-Using-Postman-to-Capture/m-p/91885#M2311</link>
    <description>&lt;P&gt;Hi, I am developing integration and testing it with Postman using HTTP-Signature authentication.&lt;/P&gt;&lt;P&gt;I am able to Authorize Payment using&amp;nbsp; developed PL/SQL function to create digest and signature. So I think logics to create those 2 string are good. In this case the request-target is '/pts/v2/payments'. Generated string then I used them in Postman in the header parameters.&lt;/P&gt;&lt;P&gt;When I tried to Reverse the authorization or Capture it the Authentication Failed. This is when {id} is used as the resource target. I think I may have passed the incorrect value to it. What is the correct way to create the signature string for these transactions?&lt;/P&gt;&lt;P&gt;Let's say my payload for capture is '{&amp;nbsp; "id": = "7516794640286053503814" }'&lt;/P&gt;&lt;P&gt;I generated signature string by passing:&lt;/P&gt;&lt;P&gt;'host: apitest.cybersource.com' || CHR(10) ||&lt;/P&gt;&lt;P&gt;'date: Fri, 04 Jul 2025 00:00:00 GMT' || CHR(10) ||&lt;/P&gt;&lt;P&gt;'resource-target: /pts/v2/payments/7516794640286053503814/captures' || CHR(10) ||&lt;/P&gt;&lt;P&gt;'digest: SHA-256=rh73kE3V/yd021ggwIYRjXYg6E8SUVAuKRQZr0M9VKo=' || CHR(10) ||&lt;/P&gt;&lt;P&gt;'v-c-merchant-id: ifs_merchant01'&lt;/P&gt;&lt;P&gt;Above generates signature: keyid="62366e4e-3a34-47a0-ad5a-a6b4b5641672", algorithm="HmacSHA256", headers="host date request-target digest v-c-merchant-id", signature="vlyVYVmp4AbMUuFrHJJjaUXi1c5hBKTD+ayDllxA7ic="&lt;/P&gt;&lt;P&gt;I have tried to use only '/pts/v2/payments', or with extra '/' at the end:&amp;nbsp; '/pts/v2/payments/7516794640286053503814/captures/' all of them failed.&lt;/P&gt;&lt;P&gt;Any suggestions?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sat, 05 Jul 2025 01:53:38 GMT</pubDate>
    <dc:creator>ifs_merchant01</dc:creator>
    <dc:date>2025-07-05T01:53:38Z</dc:date>
    <item>
      <title>Authentication Failed when Using Postman to Capture/Authorization Reversal</title>
      <link>https://community.developer.cybersource.com/t5/cybersource-APIs/Authentication-Failed-when-Using-Postman-to-Capture/m-p/91885#M2311</link>
      <description>&lt;P&gt;Hi, I am developing integration and testing it with Postman using HTTP-Signature authentication.&lt;/P&gt;&lt;P&gt;I am able to Authorize Payment using&amp;nbsp; developed PL/SQL function to create digest and signature. So I think logics to create those 2 string are good. In this case the request-target is '/pts/v2/payments'. Generated string then I used them in Postman in the header parameters.&lt;/P&gt;&lt;P&gt;When I tried to Reverse the authorization or Capture it the Authentication Failed. This is when {id} is used as the resource target. I think I may have passed the incorrect value to it. What is the correct way to create the signature string for these transactions?&lt;/P&gt;&lt;P&gt;Let's say my payload for capture is '{&amp;nbsp; "id": = "7516794640286053503814" }'&lt;/P&gt;&lt;P&gt;I generated signature string by passing:&lt;/P&gt;&lt;P&gt;'host: apitest.cybersource.com' || CHR(10) ||&lt;/P&gt;&lt;P&gt;'date: Fri, 04 Jul 2025 00:00:00 GMT' || CHR(10) ||&lt;/P&gt;&lt;P&gt;'resource-target: /pts/v2/payments/7516794640286053503814/captures' || CHR(10) ||&lt;/P&gt;&lt;P&gt;'digest: SHA-256=rh73kE3V/yd021ggwIYRjXYg6E8SUVAuKRQZr0M9VKo=' || CHR(10) ||&lt;/P&gt;&lt;P&gt;'v-c-merchant-id: ifs_merchant01'&lt;/P&gt;&lt;P&gt;Above generates signature: keyid="62366e4e-3a34-47a0-ad5a-a6b4b5641672", algorithm="HmacSHA256", headers="host date request-target digest v-c-merchant-id", signature="vlyVYVmp4AbMUuFrHJJjaUXi1c5hBKTD+ayDllxA7ic="&lt;/P&gt;&lt;P&gt;I have tried to use only '/pts/v2/payments', or with extra '/' at the end:&amp;nbsp; '/pts/v2/payments/7516794640286053503814/captures/' all of them failed.&lt;/P&gt;&lt;P&gt;Any suggestions?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 05 Jul 2025 01:53:38 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/cybersource-APIs/Authentication-Failed-when-Using-Postman-to-Capture/m-p/91885#M2311</guid>
      <dc:creator>ifs_merchant01</dc:creator>
      <dc:date>2025-07-05T01:53:38Z</dc:date>
    </item>
    <item>
      <title>Re: Authentication Failed when Using Postman to Capture/Authorization Reversal</title>
      <link>https://community.developer.cybersource.com/t5/cybersource-APIs/Authentication-Failed-when-Using-Postman-to-Capture/m-p/91888#M2312</link>
      <description>&lt;P&gt;After I changed the field name 'date' to 'v-c-date'&amp;nbsp; when generating signature I was able to generate signature string that match live console, headers="host v-c-date request-target digest v-c-merchant-id"&lt;/P&gt;&lt;P&gt;the header string to be hashed started with linefeed, Chr(10) in PLSQL or "/n" in C#. This is nowhere to be seen in documentation except when I looked in the C# source code.&lt;/P&gt;&lt;P&gt;After changing the field name 'date' to 'v-c-date' the HTTP Signature authentication went through and got response. My problem is solved.&lt;/P&gt;</description>
      <pubDate>Sat, 05 Jul 2025 22:12:47 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/cybersource-APIs/Authentication-Failed-when-Using-Postman-to-Capture/m-p/91888#M2312</guid>
      <dc:creator>ifs_merchant01</dc:creator>
      <dc:date>2025-07-05T22:12:47Z</dc:date>
    </item>
    <item>
      <title>Re: Authentication Failed when Using Postman to Capture/Authorization Reversal</title>
      <link>https://community.developer.cybersource.com/t5/cybersource-APIs/Authentication-Failed-when-Using-Postman-to-Capture/m-p/92217#M2432</link>
      <description>&lt;P&gt;&amp;nbsp;Authentication Failed&amp;nbsp; &amp;nbsp;in Postman usually means incorrect API keys&amp;nbsp; tokens&amp;nbsp; or credentials&amp;nbsp; Double-check headers, authorization type, and endpoint.&lt;/P&gt;</description>
      <pubDate>Wed, 23 Jul 2025 08:34:45 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/cybersource-APIs/Authentication-Failed-when-Using-Postman-to-Capture/m-p/92217#M2432</guid>
      <dc:creator>joywalim</dc:creator>
      <dc:date>2025-07-23T08:34:45Z</dc:date>
    </item>
  </channel>
</rss>

