cancel
Showing results for 
Search instead for 
Did you mean: 

Customer needs a long delay between authorize and capture

I am in the middle of building a new ecommerce store for one of my customers and they have recently brought up something that might be a bit of an issue ...

 

Initially it seemed simple ... he wants customers to input their credit card at checkout but not charge them until he ships the order ... sounds like simple authorize and then capture ...

 

However, two new wrinkles have come up...

 

1. He wants to do the capture 2-3 weeks after it was initially authorized. I know at a couple payment processors that doesn't work ... but authorize.net says documentation says authorize is valid for about a month ... but its still not entirely clear if what he wants to do will really work. So does anyone know if that will actually work?

2. The main reason he wants to wait to charge people is because he isn't always able to get someone's entire order ... (he's an importer) ... and he might need to take something off the order before shipping it. I know the authorized funds can be somewhat adjusted as its used for things like tips at restaurants ... but can it be used in the way he wants to use it ... without re-inputing the customers credit card, I mean?

If there is a better way to meet his needs or this just simply wont work, I'd appreciate being pointed in the right direction.

Thanks in advance.

aerlim
Member
1 REPLY 1

Hello, one way to achieve your client's desired functionality is to Capture a Previously Authorized Amount. Authorization Only 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. 

{
    "createTransactionRequest": {
        "merchantAuthentication": {
            "name": "5KP3u95bQpv",
            "transactionKey": "346HZ32z3fP4hTG2"
        },
        "refId": "123456",
        "transactionRequest": {
            "transactionType": "priorAuthCaptureTransaction",
            "amount": "5",
            "refTransId": "1234567890"
        }
    }
}

  Another way is to to create and then when ready charge a customer profile:

{
    "createTransactionRequest": {
        "merchantAuthentication": {
            "name": "5KP3u95bQpv",
            "transactionKey": "346HZ32z3fP4hTG2"
        },
        "refId": "123456",
        "transactionRequest": {
            "transactionType": "authCaptureTransaction",
            "amount": "45",
              "profile": {
    		  	"customerProfileId": "27388924",
    		  	"paymentProfile": { "paymentProfileId": "25000332" }
  			},
            "lineItems": {
                "lineItem": {
                    "itemId": "1",
                    "name": "vase",
                    "description": "Cannes logo",
                    "quantity": "18",
                    "unitPrice": "45.00"
                }
            }
        }
    }
}

 

Powered by NexWebSites.com -
Certified Authorize.net developers
NexusSoftware
Trusted Contributor