<?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 authorize.net authOnlyTransaction immediately charges customer's card in Integration and Testing</title>
    <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/authorize-net-authOnlyTransaction-immediately-charges-customer-s/m-p/91513#M57462</link>
    <description>&lt;P&gt;I'm trying to implement a deferred payment system using&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="http://authorize.net/" target="_blank" rel="noopener nofollow noreferrer"&gt;authorize.net&lt;/A&gt;'s "Authorize a Credit Card" (authorize) and "Capture a Previously Authorized Amount" (capture) functionalities with the following transaction types:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Authorization: authOnlyTransaction&lt;/LI&gt;&lt;LI&gt;Capture: priorAuthCaptureTransaction&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;My plan is for the authorization step to place a hold on the funds without immediately charging the card, and then to process and record the charge only when the capture is executed within the 30-day validity period.&lt;/P&gt;&lt;P&gt;However, I’ve noticed that as soon as I call the authorize endpoint, the issuing bank immediately processes the charge and the transaction appears in the billing records—even though I haven't executed a capture yet. When I subsequently void the transaction, it refunds an already processed payment.&lt;/P&gt;&lt;P&gt;Could there be any account settings or API configuration issues causing the authorization to finalize the charge immediately? How can I adjust my implementation so that the charge occurs only when the capture is executed?&lt;/P&gt;&lt;P&gt;Any insights or suggestions would be greatly appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;   &lt;SPAN class=""&gt;class&lt;/SPAN&gt; &lt;SPAN class=""&gt;TransactionType&lt;/SPAN&gt;(&lt;SPAN class=""&gt;Enum&lt;/SPAN&gt;):
        AUTH_ONLY = &lt;SPAN class=""&gt;"authOnlyTransaction"&lt;/SPAN&gt;
        PRIOR_AUTH_CAPTURE = &lt;SPAN class=""&gt;"priorAuthCaptureTransaction"&lt;/SPAN&gt;

&lt;SPAN class=""&gt;    @classmethod&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;def&lt;/SPAN&gt; &lt;SPAN class=""&gt;_set_transaction_info&lt;/SPAN&gt;(&lt;BR /&gt;&lt;SPAN class=""&gt;        cls,
        db: Session,
        dto: AuthorizedPaymentDTO,
        transaction_type: TransactionType,
    &lt;/SPAN&gt;):
        ...

        transaction_request = apicontractsv1.transactionRequestType()
        transaction_request.transactionType = transaction_type.value

&lt;SPAN class=""&gt;    @classmethod&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;def&lt;/SPAN&gt; &lt;SPAN class=""&gt;authorize_credit_card&lt;/SPAN&gt;(&lt;BR /&gt;&lt;SPAN class=""&gt;        cls,
        auth: AuthHeader
        db: Session,
        dto: AuthorizedPaymentDTO,
    &lt;/SPAN&gt;) -&amp;gt; ProcessPaymentResponse:
        &lt;SPAN class=""&gt;try&lt;/SPAN&gt;:
            txDto = cls._set_transaction_info(
                db=db,
                dto=dto,
                transaction_type=TransactionType.AUTH_ONLY,
            )
            ctrl = createTransactionController(txDto)
            ctrl.setenvironment(constants.constants.PRODUCTION)
            ctrl.execute()

            response: apicontractsv1.createTransactionResponse = ctrl.getresponse()&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 31 Mar 2025 23:18:42 GMT</pubDate>
    <dc:creator>pli</dc:creator>
    <dc:date>2025-03-31T23:18:42Z</dc:date>
    <item>
      <title>authorize.net authOnlyTransaction immediately charges customer's card</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/authorize-net-authOnlyTransaction-immediately-charges-customer-s/m-p/91513#M57462</link>
      <description>&lt;P&gt;I'm trying to implement a deferred payment system using&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="http://authorize.net/" target="_blank" rel="noopener nofollow noreferrer"&gt;authorize.net&lt;/A&gt;'s "Authorize a Credit Card" (authorize) and "Capture a Previously Authorized Amount" (capture) functionalities with the following transaction types:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Authorization: authOnlyTransaction&lt;/LI&gt;&lt;LI&gt;Capture: priorAuthCaptureTransaction&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;My plan is for the authorization step to place a hold on the funds without immediately charging the card, and then to process and record the charge only when the capture is executed within the 30-day validity period.&lt;/P&gt;&lt;P&gt;However, I’ve noticed that as soon as I call the authorize endpoint, the issuing bank immediately processes the charge and the transaction appears in the billing records—even though I haven't executed a capture yet. When I subsequently void the transaction, it refunds an already processed payment.&lt;/P&gt;&lt;P&gt;Could there be any account settings or API configuration issues causing the authorization to finalize the charge immediately? How can I adjust my implementation so that the charge occurs only when the capture is executed?&lt;/P&gt;&lt;P&gt;Any insights or suggestions would be greatly appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;   &lt;SPAN class=""&gt;class&lt;/SPAN&gt; &lt;SPAN class=""&gt;TransactionType&lt;/SPAN&gt;(&lt;SPAN class=""&gt;Enum&lt;/SPAN&gt;):
        AUTH_ONLY = &lt;SPAN class=""&gt;"authOnlyTransaction"&lt;/SPAN&gt;
        PRIOR_AUTH_CAPTURE = &lt;SPAN class=""&gt;"priorAuthCaptureTransaction"&lt;/SPAN&gt;

&lt;SPAN class=""&gt;    @classmethod&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;def&lt;/SPAN&gt; &lt;SPAN class=""&gt;_set_transaction_info&lt;/SPAN&gt;(&lt;BR /&gt;&lt;SPAN class=""&gt;        cls,
        db: Session,
        dto: AuthorizedPaymentDTO,
        transaction_type: TransactionType,
    &lt;/SPAN&gt;):
        ...

        transaction_request = apicontractsv1.transactionRequestType()
        transaction_request.transactionType = transaction_type.value

&lt;SPAN class=""&gt;    @classmethod&lt;/SPAN&gt;
    &lt;SPAN class=""&gt;def&lt;/SPAN&gt; &lt;SPAN class=""&gt;authorize_credit_card&lt;/SPAN&gt;(&lt;BR /&gt;&lt;SPAN class=""&gt;        cls,
        auth: AuthHeader
        db: Session,
        dto: AuthorizedPaymentDTO,
    &lt;/SPAN&gt;) -&amp;gt; ProcessPaymentResponse:
        &lt;SPAN class=""&gt;try&lt;/SPAN&gt;:
            txDto = cls._set_transaction_info(
                db=db,
                dto=dto,
                transaction_type=TransactionType.AUTH_ONLY,
            )
            ctrl = createTransactionController(txDto)
            ctrl.setenvironment(constants.constants.PRODUCTION)
            ctrl.execute()

            response: apicontractsv1.createTransactionResponse = ctrl.getresponse()&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 31 Mar 2025 23:18:42 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/authorize-net-authOnlyTransaction-immediately-charges-customer-s/m-p/91513#M57462</guid>
      <dc:creator>pli</dc:creator>
      <dc:date>2025-03-31T23:18:42Z</dc:date>
    </item>
  </channel>
</rss>

