Comment on page
API-only
Use Server to Server : Connect through the JAVA SDK provided by MoneyCollect.
Firstly, make sure that you have set up an account name on the MoneyCollect dashboard.
PaymentMethod
is the necessary prerequisite to charge.PaymentMethod
can specify different payment methods,such as credit cards, Alipay, WeChat Pay, etc. Different payment methods require different parameters. For example: Billing information and card information are required for credit cards, but not for Alipay.The following code shows how to create a
PaymentMethod
through the SDK:// Use your private key
MoneyCollect.apiKey = "live_pr_KQjlYQdmWygTO8m*********";
// Build card
PaymentMethodCreateParams.Card card = PaymentMethodCreateParams.Card.builder()
.setCardNo("4242424242424242")
.setExpYear("2024")
.setExpMonth("12")
.setSecurityCode("123")
.build();
// Build billing details for card
PaymentMethodCreateParams.BillingDetails billingDetails = PaymentMethodCreateParams.BillingDetails.builder()
.setAddress(PaymentMethodCreateParams.Address.builder()
.setCity("Hong Kong")
.setCountry("CN")
.setLine1("193 Prince Edward Road")
.setLine2("")
.setPostalCode("12222")
.setState("Hong Kong").build() )
.setEmail("[email protected]")
.setFirstName("Su")
.setLastName("Diana")
.setPhone("12222211")
.build();
// Build payment method
PaymentMethodCreateParams params =
PaymentMethodCreateParams.builder()
.setType(PaymentMethodCreateParams.PaymentMethodType.CARD)
.setCard(card)
.setBillingDetails(billingDetails)
.build();
// Create payment method
PaymentMethod paymentMethod = PaymentMethod.create(params);
PaymentCreateParams params =
PaymentCreateParams.builder()
.setAmount(18*100L)
.setCurrency("USD")
.setOrderNo("MC"+System.currentTimeMillis())
.setNotifyUrl("http://localhost:4242/notify")
.setIp("103.48.140.12") // customer ip
.build();
Payment payment = Payment.create(params); //
Create a payment and automatically charge by setting the "confirm" parameter to true and specifying the "paymentMethod" parameter.
PaymentConfirmParams paymentConfirmParams = PaymentConfirmParams.builder()
.setPaymentMethod({{paymentMethodId}})
.build();
Payment payment = Payment.retrieve({{paymentId}});
payment.confirm(paymentConfirmParams);
If you want to create a transaction and charge automatically, you can refer to the following code:
PaymentCreateParams params =
PaymentCreateParams.builder()
.setAmount(18*100L)
.setCurrency("USD")
.setOrderNo("MC"+System.currentTimeMillis())
.setNotifyUrl("http://localhost:4242/notify")
.setIp("103.48.140.12") // customer ip
.setConfirm(true)
.setPaymentMethod({{paymentMethodId}})
.build();
Payment payment = Payment.create(params);
For some transactions, customers may be required to perform verification actions, such as 3D secure authentication or Alipay to scan code. Payment will return
nextAction
when confirming the charge. At this time, you need to do additional actions, redirect or display the QR code according to the different type
of nextAction
."nextAction": {
"type": "redirect",
"redirectToUrl": "
https://test-payment.moneycollect.com/authentication?type=2¶m=eyJwYXltZW50SWQiOiJwdF8xNDk4MTE3MzQxMjc0NDIzMjk4IiwidGhyZWVEc1VybCI6Imh0dHBzOi8XXXXXXXX
}
After the payment is completed, we will return the result to the
returnUrl
you set and send a notification tonotifyUrl
. You can also inquire the result of this payment through API or SDK.Payment payment = Payment.retrieve("pt_1497139547656585217");
There are several test cards you can use to make sure your integration is ready for production. Use them with any CVC, postal code, and future expiration date.
Card Number | Brand | Description |
---|---|---|
4242 4242 4242 4242 | Visa | Succeeds and immediately processes the payment. |
3566 0020 2036 0505 | JCB | Succeeds and immediately processes the payment. |
6011 1111 1111 1117 | Discover | Succeeds and immediately processes the payment. |
3782 8224 6310 0052 | American Express | Succeeds and immediately processes the payment. |
5555 5555 5555 4444 | Mastercard | Succeeds and immediately processes the payment. |
4000002500003155 | Visa | This card requires 3D authentication on all transaction |
4000 0000 0000 0077 | Visa | Always fails with a decline code of declined.
|
Last modified 1yr ago