February 2, 2023
cancel
Showing results for 
Search instead for 
Did you mean: 
Help

Programmatically control Marqeta card transaction logic

Programmatically control Marqeta card transaction logic

hafiz
New Contributor II
  • First of all, I would like to get clarified how funding in Marqeta issued cards works, Does the user has to add money to the card priorly or does it happens only when user is actually making the transaction?(JIT)
  • I would like to know that, Is it possible to programmatically control  a transaction happening on a card issued by Marqeta?
  • Use case will be something like, When a user/customer is using  card issued by us at a merchant, we need to make a transaction before the actual user to merchant transaction happens, we will first send fund to customer's account/card, then the actual customer to merchant transaction happens. 
  • Also, Is there a way to make the transaction approved without actually transferring the money at all?
    something like, User might have prepaid the merchant, when the user actually swiping at merchant POS, we have to check the conditions and do not transfer the money at all if the user has already prepaid the merchant, but make the transaction as approved in the POS system?
10 REPLIES 10

jcook
Marqeta Staff
Marqeta Staff

Hi @hafiz !

  • For JIT funds are not added to the card prior, they remain associated with your program gateway funding source. When an authorization occurs, funds are moved from that funding source to fund that specific transaction.
  • With Gateway JIT you are able approve or decline a transaction based on your own business logic.
  • The funds will move once the merchants submits the authorization request.
  • With authorizations on the Marqeta Platform, funds do need to be transferred from the program gateway funding source to the merchant.

Have you seen our funding models page? This might add some additional clarity to your questions. 

https://www.marqeta.com/docs/developer-guides/about-jit-funding#_gateway_jit_funding

Hope this helps!

Jess

hafiz
New Contributor II

Thanks for the reply, Yes, I read those pages, Could you please elaborate this ?

"With authorizations on the Marqeta Platform, funds do need to be transferred from the program gateway funding source to the merchant."

By the above statement you mean, First Money transfer from funding source to user card, then to the business to full fill a transaction - Right?

 

I am looking for more like a advance/prepaying solution. If the user has already allocated funds for a particular business, and user transacts at that business, fund flow does not need to be happened at all, because user has already paid in advance.  but if the user is purchasing at a business not allocated/outside our system, fund flow should happen 

bmo
Marqeta Staff
Marqeta Staff

@hafiz 

A 'business' in the Marqeta platform refers to an organization that cards are being issued to, rather than a merchant where cards are being used. There is no pre-payment of funds to a merchant, funds flow to the merchant in real time after the authorization clearing is received by Marqeta. 

The allocation of funds to a particular user or business is what we refer to as 'prefunding'. It has more to do with how we top up the balance of a given user so that card transactions are covered and can be approved. If we 'prefund' a user's GPA with $50, then that user can spend up to $50. 

Please let me know if I misunderstood the question or if you need any additional clarification.

hafiz
New Contributor II

That's an eye opener, I considered businesses as merchants. my mistake, Sorry for that

bmo
Marqeta Staff
Marqeta Staff

No need to apologize! We can add some clarification in the docs since 'business' is an ambiguous term; there are businesses (Marqeta customers, 'you'), who then have other businesses as customers ('businesses'), with users who need to pay businesses ('merchants').

jcook
Marqeta Staff
Marqeta Staff

Hi @hafiz ,

Yes, that's correct.
It sounds like you're referencing a Pre-Funded program (Standard Funding) program here. In this model, which would need to be separate from JIT, you can allocate funds to a Business or User GPA account to spend at specific merchants. Let me know if I'm understanding correctly what you are looking for.

Thanks!

Jess

hafiz
New Contributor II

But with the pre-funded program, customers can use only at merchants added to our system, right? That would be a big no, I will think about altering business logic that can support existing marqeta functionalities

jcook
Marqeta Staff
Marqeta Staff

Regardless of the prefunded nature, we will not restrict any merchants on our platform unless they are specifically exclude by your or by bank regulation. 

Jess

hafiz
New Contributor II

In the prefunded nature,

 

  • can a user become child of 2 businesses? 
  • is it possible to set uses_parent_account value at transaction level? There will be situations at which I want to deduct money from business account, there will be situations where money has to be deducted from user’s account , is that also possible?

 

bmo
Marqeta Staff
Marqeta Staff

Hi @hafiz !

  • A user cannot be a child of two businesses. 
  • It's not possible to set 'uses_parent_account' conditionally at the transaction level. This is a property of the user object, and the 'using parent account funds' logic is applied to any/all transactions.