Happy Business Starts Here


Create or make payment without customer account



I have requirement where on client side (phone) user will enter credit card details which I want to post to Zuora and get paymentmethodid without actually creating customer account.


Once I recieve back the paymentmethodid on the client, I will post it to our server and will create customer account and assign the paymetmethodid.


Is it possible to do above with Zuora REST API ? as below link https://knowledgecenter.zuora.com/DC_Developers/REST_API/B_REST_API_reference/Payment_methods/1_Crea...

mentions I need to have account key to make/create payment.


Thank you in advance

Tags (2)
Support SME
Support SME

Re: Create or make payment without customer account

With this doc, giving the accountKey, would create a payment method, however, this payment method would tie to the account directly. The below is testing call from my sandbox. It sounds like you are expecting a standalone payment method, then you can associate this standalone payment method to a customer account? If this is the case, we have Payment Pages 2.0, with it you can create a standalone payment method, then use SOAP Update call to associate this standalone payment method to a customer account.



{"defaultPaymentMethod": false,
{"addressLine1": "77 Fallon Glen",
"addressLine2": "",
"zipCode": "94020",
"state": "California",
"phone": "4155551234",
"country": "USA",
"cardHolderName": "Bill Thiebault",
"city": "Fremont",
"email": "bill@testaddress.com"},
"expirationMonth": "10",
"accountKey": "A00000122",
"creditCardType": "Discover",
"expirationYear": "2016",
"creditCardNumber": "1111222233334444",
"securityCode": "123"}

    "success": true,
    "paymentMethodId": "2c92c0fa555ce8230155625548ca09f8"

If you found my answer helpful, please give me a kudo ↑
Help others find answers faster by accepting my post as a solution √


Re: Create or make payment without customer account

Hi Leo,


Thank you for your response, I believe you have missed in my earlier post where I mentioned that I don't want to create a customer account in Zuora until a consumer actually made a payment. So I don't have account key to pass in to Create or Make payment.


I would like to know if below steps are possible to do in Zuora using REST or SOAP API:


STEP 1: Create or Make payment from iPhone ==> Without AccountKey (as the customer account will not be created until the payment is made)

STEP 2: If STEP 1 is successful get the reference/paymentmethodID from STEP1 and post to our server.

STEP 3: Once a paymentmethodID received by our server from STEP2, we will then create a customer account in the Zuora and link the paymethodmethodid to the customer.


Hope above make sense and clear.




Zuora Staff

Re: Create or make payment without customer account

Currently Zuora has no concept of unapplied payments, so right now, no, you can't capture a payment and then create a billing account. Zuora DOES support capturing a payment METHOD (usually meaning capturing a credit card) without having to create a billing account. So we normally recommend a flow of capturing a card, then feeding the payment method id returned by a successful card capture into the subscribe() call. Since the subscribe can also create the account and invoice and collect payment against the credit card all in one single subscribe call, this usually works for customers.


So will this work for your use case?


If it won't we're in the process of adding support for unapplied payments, it'll go into Limited Availability all being well in a couple of months. With unapplied payments you should be able to capture a payment and then, at a later time, apply that payment to a billing account. Hopefully the subscribe() solution will work as it's available right now Smiley Happy


Re: Create or make payment without customer account

Thank you Richard, the information you provide is clear.


We are happy to go ahead with one single subscribe call implementation.