cancel
Showing results for 
Search instead for 
Did you mean: 

CIM authorized transaction got expired after 30 days.

Sir, I integrated the CIM feature into my website. Please go through the workflow.

1. Create CIM profile, Payment Profile, Shipping profile on user registration.
2. Authorize credit card. Using authOnlyTransaction.
3. Capture authorize transaction using priorAuthCaptureTransaction

After 1 month, I couldn't capture the transaction. The priorAuthCaptureTransaction api returns "Transaction was unsuccessful error". And when I log into my sandbox account, the transaction status shows expired.
Why did the transaction expire?
Because I wanted to capture the amount after 30 days. That's why I used CIM.
Can I capture the amount after 30 days??
NB: I'm using a sandbox account.

Authorize and Capture codes.
JSON code https://docs.google.com/document/d/1__lrLRKM6QaJpEGpqFz79JuDC8RDMC6UHZK942EpcF8/edit?usp=sharing 

projecttw
Member
1 ACCEPTED SOLUTION

Accepted Solutions

You can use Customer Profiles with createTransactionRequest calls by using the profile field and its children as payment information.

 

{
    "createTransactionRequest": {
        "merchantAuthentication": {
            "name": "LOGIN_ID",
            "transactionKey": "TRANSACTION_KEY"
        },
        "refId": "123456",
        "transactionRequest": {
            "transactionType": "authCaptureTransaction",
            "amount": "43",
              "profile": {
    		  	"customerProfileId": "27388924",
    		  	"paymentProfile": { "paymentProfileId": "25000332" }
  			},
            "lineItems": {
                "lineItem": {
                    "itemId": "1",
                    "name": "Item1",
                    "description": "Item1 Description",
                    "quantity": "1",
                    "unitPrice": "43.00"
                }
            }
        }
    }
}

VOID requests are used to void an existing transaction with a status of Authorized/Pending Capture or Captured/Pending Settlement.

 

VOID requests effectively cancel the Capture request that would start the funds transfer process, so no money changes hands on a transaction that has been voided. VOID request can be submitted via the API by including the following fields with your void request:

transactionType(voidTransaction)
refTransId(The transaction ID we assigned to the original transaction you are voiding)

 

{
    "createTransactionRequest": {
        "merchantAuthentication": {
            "name": "LOGIN_ID",
            "transactionKey": "TRANSACTION_KEY"
        },
        "refId": "123456",
        "transactionRequest": {
            "transactionType": "voidTransaction",
            "refTransId": "1234567890"
        }
    }
}

 

 

Powered by NexWebSites.com -
Certified Authorize.net developers

View solution in original post

9 REPLIES 9

Hello,

 

An Authorization only transaction does expire after 30 day. Transactions that are not captured within 30 days of authorization are expired and are no longer available for settlement. Merchants with an expired transaction should authorize and capture a new transaction to receive funds. 

Powered by NexWebSites.com -
Certified Authorize.net developers
NexusSoftware
Trusted Contributor
Thank you sir. This post says it's possible using CIM. Can you please go through it.
https://community.developer.authorize.net/t5/Integration-and-Testing/ReAuthorizing-transaction-ID-af...

So is there a way to capture after 30days?
Because in my case the merchant will capture the amount only after 30 days.
Thanks for you help.

Hello,

 

With CIM you are able to store a customer's payment profile information. If you need to authorize it 30 days or more in advance you could let that authorization get cleared. Then when ready you can authorize and capture the payment from the customer's payment profile.

Powered by NexWebSites.com -
Certified Authorize.net developers

Thank you very much for your help. One last thing. Is there any api to clear the expired transaction?
So that i can reauthorize and capture the payment after expiration.
Is "createTransactionRequest"  the correct menthod to reauthorize and capture after 30 days?
https://developer.authorize.net/api/reference/index.html#customer-profiles

How should i clear the void transaction using apis?

Is there a way to clear expired transaction list using api?

You can use Customer Profiles with createTransactionRequest calls by using the profile field and its children as payment information.

 

{
    "createTransactionRequest": {
        "merchantAuthentication": {
            "name": "LOGIN_ID",
            "transactionKey": "TRANSACTION_KEY"
        },
        "refId": "123456",
        "transactionRequest": {
            "transactionType": "authCaptureTransaction",
            "amount": "43",
              "profile": {
    		  	"customerProfileId": "27388924",
    		  	"paymentProfile": { "paymentProfileId": "25000332" }
  			},
            "lineItems": {
                "lineItem": {
                    "itemId": "1",
                    "name": "Item1",
                    "description": "Item1 Description",
                    "quantity": "1",
                    "unitPrice": "43.00"
                }
            }
        }
    }
}

VOID requests are used to void an existing transaction with a status of Authorized/Pending Capture or Captured/Pending Settlement.

 

VOID requests effectively cancel the Capture request that would start the funds transfer process, so no money changes hands on a transaction that has been voided. VOID request can be submitted via the API by including the following fields with your void request:

transactionType(voidTransaction)
refTransId(The transaction ID we assigned to the original transaction you are voiding)

 

{
    "createTransactionRequest": {
        "merchantAuthentication": {
            "name": "LOGIN_ID",
            "transactionKey": "TRANSACTION_KEY"
        },
        "refId": "123456",
        "transactionRequest": {
            "transactionType": "voidTransaction",
            "refTransId": "1234567890"
        }
    }
}

 

 

Powered by NexWebSites.com -
Certified Authorize.net developers

Thank you.
I can use the authcapturetransaction to reauthorize and I can also void the transaction with refTransID.
The expired transaction will list in my account. Is there a way to delete those unsettled expired transactions with API?
Do i need to manually delete those records by log into authorize account?
Does auth.NET provides any apis to delete/remove those expired transaction so that our client wont get confused with the expired transaction.

Transactions, including voided ones stay in the system. There are a number of filters within the admin interface to limit the type of transactions to display.

 

The Transaction Detail Reports lists only settled or declined transactions for the settlement date you select, which should omit any voided or unsettled transactions.

Powered by NexWebSites.com -
Certified Authorize.net developers

Authorize.Net automatically sends a full reversal whenever a transaction is voided, you can tell if a reversal has been sent by looking to see if the Authorization Code is visible in the transaction Details in the online interface. Once Authorize.Net has sent a reversal, the Authorization Code is removed from view because it is no longer valid.

Powered by NexWebSites.com -
Certified Authorize.net developers