Initiate a Direct Payment (PCI-DSS compliant only)

Payment with a New Card
This method is more complex that non 3-D Secure payment, but 3-D Secure will ensure that your business is secure.
You will need 3 integration points:

  1. By calling POST /moneyins/card/direct/3dinit, you receive a Authentication URL and a Transaction Id. If you want to register a card for to use card severval times or subscription payments set registerCard=true.
  2. With the Authentication URL, you are able to redirect the end-user to the ACS (Bank Authentication Server) Page.
  3. After 3D Secure Authentication, with the callback ReturnURL.
  4. You need to then call POST /moneyins/card/direct/{transactionid}/3dauthenticate to verify the authentication process was done.
  5. If the authentication was done then, you then call PUT /moneyins/card/direct/{transactionid}/3dconfirm specifying the returned Transaction Id to finalize the payment.

Payment with a Registered Card

  1. Ensure you have a cardId then call POST /moneyins/card/direct/3dinit specifying the cardID parameter (cardId and CVV (optional)). If you want to improve the transaction success rate add the CVV code in the parameters.
  2. Refer to steps 2 - 5 as stated above.
    Note: You require a cardId to make a transaction on a registered card. This id is displayed when you finalized your first payment with the registered card using PUT /moneyins/card/direct/{transactionid}/3dconfirm
    Payments on a registered card use the following process:
    Call MoneyIn3DInit ensuring that you include the cardId in the body of the request. Refer to steps 2 - 5 as stated above.
    Note: To ensure that the client’s card has been registered, call the following method before you initiative payments on a registered card: GetCard

Subscription Payments
A prerequisite to setting up a subscription is that you have previously made a payment with a card and registered the card using POST /moneyins/card/direct/3dinit Note: When you create a recurring payment ensure that the recurringAvgAmount is higher than totalAmount. If a lower amount is used for recurringAvgAmount you will receive a directkit error message 368: recurringAvgAmount should be greater than the transaction amount.
Note: After you have registered a card refer to POST /moneyins/card/{cardid}/rebill to begin setting up a subscription or payment by delivery system.
Important: To ensure the likelyhood of frictionless payments you must setup payments of equal recurring amounts.

Payment with a New Card (3‑D Secure)
This flow adds 3‑D Secure protection to ensure extra security. You’ll need three integration points:

  1. Initialize 3‑D Secure
    Call POST /moneyins/card/direct/3dinit.

    • You’ll receive an Authentication URL and a Transaction Id.
    • To save the card for future one‑click or subscription payments, include registerCard=true.
  2. Redirect to ACS
    Send the end‑user’s browser to the Authentication URL so they can complete 3‑D Secure authentication on their bank’s ACS (Access Control Server) page.

  3. Handle the Return Callback
    After authentication, the ACS will redirect back to your configured ReturnURL.

  4. Verify Authentication
    Call

    POST /moneyins/card/direct/{transactionId}/3dauthenticate

    to confirm that the user passed 3‑D Secure checks.

  5. Confirm the Payment
    If authentication succeeded, finalize the charge by calling

    PUT /moneyins/card/direct/{transactionId}/3dconfirm

    using the same Transaction Id.


Payment with a Registered Card
Once you have a cardId saved, you can skip the initial registration step:

  1. Initialize with Card ID
    Call POST /moneyins/card/direct/3dinit and include:

    • cardId (required)
    • cvv (optional—adding it can improve authorization rates)
  2. Follow Steps 2–5 Above

    • Redirect the user to the ACS using the returned Authentication URL.
    • Handle the ReturnURL callback.
    • Call 3dauthenticate, then 3dconfirm.

Note: You only receive the cardId after your very first 3‑D Secure payment is confirmed via PUT /moneyins/card/direct/{transactionId}/3dconfirm. To double-check that a saved card is valid before charging it, you can call GetCard.


Subscription Payments
Prerequisite: You must already have a registered card (from your initial 3‑D Secure payment via POST /moneyins/card/direct/3dinit).

  • Amount Requirements: Ensure recurringAvgAmount is greater than totalAmount. Otherwise you’ll get error 368 (recurringAvgAmount should be greater than the transaction amount).

  • Setup Endpoint: Once the card is registered, start subscriptions by calling:

    POST /moneyins/card/{cardId}/rebill

Important: For the smoothest, most “frictionless” experience, use the same amount for each recurring payment.

Language
Click Try It! to start a request and see the response here!