- New parameter
CardHolderName
for Update Card registration
- Updated the implementation for Look up metadata for a payment method. The
CommercialIndicator
andCardType
fields have been moved to theBinData
object in the API response.
- New endpoint Add tracking to Paypal payin
- New parameter
SecureMode
for Create card validation - New parameters for PayPal mean of payment :
CancelURL
&Category
(sub-parameter ofLineItems
). And management ofPaypalPayerID
,BuyerCountry
,BuyerFirstname
,BuyerLastname
,BuyerPhone
,PaypalOrderID
in the response.
- Fixed incorrect spelling of the
Subtype
key in theBinData
parameter. - Conversions endpoint spelling
- The optional Fees parameter is now available on instant conversions, allowing platforms to charge users for FX services. More information here.
- Platforms can now use a quote to secure the rate for a conversion between two currencies for a set amount of time. More information here.
- Introduced the
isUkHeaderFlag
boolean configuration key. Platforms partnered with Mangopay's UK entity should set this key to true for proper configuration.
- Naming of Get card validation endpoint switch to : getCardValidation()
- New endpoint to look up metadata from BIN or Google Pay token. More information here
- Get a card validation endpoint
setCardApi
is nowpublic
incom.mangopay.MangoPayApi
#316
New CardInfo
parameter returned on card transactions. More information here.
The IDEAL legacy implementation has been enhanced. You can now pass the Bic., and if provided, the API response will include the BankName parameter. More information here.
It's now possible to specify an amount for DebitedFunds and Fees when you create a refund with getPayInApi().createRefund()
.
- Giropay and Ideal integrations with Mangopay have been improved.
- Klarna param "MerchantOrderId" has been renamed to "Reference"
- New Reference parameter for the new Paypal implementation.
- Multibanco, Satispay, Blik, Klarna are now available as a payment method with Mangopay. This payment method is in private beta. Please contact support if you have any questions.
- Card validation endpoint is now available (Private beta)
- A new parameter for Paypal : ShippingPreference
- Instantly convert funds between 2 wallets of different currencies owned by the same user with the new SPOT FX endpoints
- Google Pay integration with Mangopay has been improved. This payment method is in private beta. Please contact support if you have any questions.
- MBWay & PayPal are now using Web Execution Type.
Paypal integration with Mangopay has been improved. This payment method is in private beta. Please contact support if you have any questions.
Phone
parameter instead ofPhoneNumber
for MBWay
- MB WAY is now available as a payment method with Mangopay. This payment method is in private beta. Please contact support if you have any questions.
Knowing when a dispute was closed is now possible thanks to the new ClosedDate parameter for the Dispute object.
The following endpoints have been updated accordingly:
Vew a Dispute
List Disputes that need settling
Please note that the new ClosedDate field will only display values for the Disputes closed after this release. Otherwise, a null value will be returned.
- #290 Missing Kosovo in CountryISO enum
- Fix bug preventing access to authentication endpoint
Verifying some specific legal structures is now more efficient thanks to a new legal entity type: PARTNERSHIP
.
The Legal User LegalPersonType parameter now includes the PARTNERSHIP
value. The following endpoints have been updated accordingly:
Please note that changing the LegalPersonType to PARTNERSHIP
for an existing user will automatically result in:
- A KYC downgrade to Light (default) verification
- The REGISTRATION_PROOF document being flagged as OUT_OF_DATE.
With this new LegalPersonType, the MANGOPAY team can better handle specific legal structures and speed up the validation process.
Preauthorizations can now hold funds for up to 30 days, therefore ensuring the solvency of a registered card for the same amount of time.
- The DepositApi service has been added with methods for creating, fetching and canceling a deposit
- The Deposit entity has been created
- The createCardPreAuthorizedDepositPayIn method has been added to the PayIn service
Thanks to 30-day preauthorizations, MANGOPAY can provide a simpler and more flexible payment experience for a wide range of use cases, especially for rentals.
- Instead of NPE when the API is down, a custom Exception has been added
Tests have been fixed due to API evolution.
User TermsAndConditionsAccepted
is now nullable
New country authorizations endpoints
Country authorizations can now be viewed by using one of the following endpoints:
View a country's authorizations
View all countries' authorizations
With these calls, it is possible to check which countries have:
- Blocked user creation
- Blocked bank account creation
- Blocked payout creation
Please refer to the Restrictions by country article for more information.
##Added Recurring: €0 deadlines for CIT
Setting free recurring payment deadlines is now possible for CIT (customer-initiated transactions) with the FreeCycles parameter.
The FreeCycles parameter allows platforms to define the number of consecutive deadlines that will be free. The following endpoints have been updated to take into account this new parameter:
Create a Recurring PayIn Registration
View a Recurring PayIn Registration
This feature provides new automation capabilities for platforms with offers such as “Get the first month free” or “free trial” subscriptions.
Please refer to the Recurring payments overview documentation for more information.
Users can now be differentiated depending on their MANGOPAY usage.
This is possible with the new UserCategory parameter, whose value can be set to:
- Payer – For users who are only using MANGOPAY to give money to other users (i.e., only pay).
- Owner – For users who are using MANGOPAY to receive funds (and who are therefore required to accept MANGOPAY’s terms and conditions).
Please note that the following parameters become required as soon as the UserCategory is set to “Owner”:
- HeadquartersAddress
- CompanyNumber (if the LegalPersonType is “Business”)
- TermsAndConditionsAccepted.
The documentation of user-related endpoints has been updated and reorganised to take into account the new parameter:
Create a Natural User (Payer) Create a Natural User (Owner) Update a Natural User Create a Legal User (Payer) Create a Legal User (Owner) Update a Legal User View a User List all Users
Differentiating the platform users results in a smoother user experience for “Payers” as they will have less declarative data to provide.
The acceptance of the MANGOPAY terms and conditions by the end user can now be registered via the SDK.
This information can be managed by using the new TermsAndConditionsAccepted
parameter added to the User
object.
The following API endpoints have been updated to take into account the new TermsAndConditionsAccepted parameter:
Create a Natural User Update a Natural User Create a Legal User Update a Legal User View a User
Please note that:
- Existing users have to be updated to include the terms and conditions acceptance information.
- Once accepted, the terms and conditions cannot be revoked.
With the function
PayOutEligibilityResult checkInstantPayoutEligibility(String idempotencyKey, PayOutEligibility payOutEligibility);
the destination bank reachability can now be verified prior to making an instant payout. This results in a better user experience, as this preliminary check will allow the platform to propose the instant payout option only to end users whose bank is eligible.
Instant Payment requests can now be automatically cancelled when an issue is encountered (rather than falling back to the standard payout mode).
This is possible by using the new INSTANT_PAYMENT_ONLY
option that has been added to the PayoutModeRequested
parameter.
You can now add a tag while creating a KYC Document
- Issues with the BankAccount deserializer and IBAN and US account number
- missing debitedFunds and fees on class RecurringPayInMIT
We are now providing new hooks for our new feature Instant payouts :
- INSTANT_PAYOUT_SUCCEEDED
- INSTANT_PAYOUT_FALLBACKED
It will allow you to trigger an action depends on the Instant Payout treatment.
You can now request the RecurringPayIn ID to check if the status is valid using
this.api.getPayInApi().get(createdCit.getId())
You can now change the status to "ENDED" for a recurring payment.
- "Status" is now available in the response when you request a recurring payment registration.
- Card deactivation
- UBO Declaration creation
- User-Agent in headers
As requested by numerous clients, we are now providing Payconiq as a new mean-of-payment. To request access, please contact MANGOPAY.
We provide more information regarding refused KYC documents. Therefore it will be easier for you to adapt your app behavior and help your end user.
You are now able to see the exact explanation thanks to a new parameter called “Flags”.
It has been added to
this.api.getKycDocumentApi().getKycDocument(kycDocument.getId());
It will display one or several error codes that provide the reason(s) why your document validation has failed. These error codes description are available here.
- Better error parsing (issue #244)
- Change
FallbackReason
parameter's type to object in PayOutPaymentDetailsBankWire
- You can now update and view a Recurring PayIn Registration object. To know more about this feature, please consult the documentation here.
- To improve recurring payments, we have added new parameters for CIT : DebitedFunds & Fees. To know more about this feature, please consult the documentation here
We have added a new feature recurring payments dedicated to clients needing to charge a card repeatedly, such as subscriptions or payments installments.
You can start testing in sandbox, to help you define your workflow. This release provides the first elements of the full feature.
- Create a Recurring PayIn Registration object, containing all the information to define the recurring payment
- Initiate your recurring payment flow with an authenticated transaction (CIT) using the Card Recurring PayIn endpoint
- Continue your recurring payment flow with an non-authenticated transaction (MIT) using the Card Recurring PayIn endpoint
This feature is not yet available in production and you need to contact the Support team to request access.
- Missing "Culture" parameter in PreAuthorization
Mangopay introduces the instant payment mode. It allows payouts (transfer from wallet to user bank account) to be processed within 25 seconds, rather than the 48 hours for a standard payout.
You can now use this new type of payout with the Java SDK.
Example :
PayOut getPayOut = this.api.getPayOutApi().getBankwire(payOut.getId());
// where payOut.getId() is the id of an existing payout
Please note that this feature must be authorized and activated by MANGOPAY. More information here.
The endpoint to list all transactions linked to mandate has been added to the SDK.
More information about how to test payments, click here.
- LegalRepresentativeBirthday primitive Long fixed. Thanks @LeComptoirDesPharmacies
Some of you use a lot the PreAuthorization feature of our API. To make your life easier, we have added three new events :
- PREAUTHORIZATION_CREATED
- PREAUTHORIZATION_SUCCEEDED
- PREAUTHORIZATION_FAILED
The goal is to help you monitor a PreAuthorization with a webhook.
Example: If a PreAuthorization is desynchronized, when the status is updated, you will be able to know it.
This on-demand feature is for testing purposes only and will not be available in production
We've added a new parameter Requested3DSVersion
(not mandatory) that allows you to choose between versions of 3DS protocols (managed by the parameter SecureMode
). Two values are available:
V1
V2_1
If nothing is sent, the flow will be 3DS V1.
The Requested3DSVersion
may be included on all calls to the following endpoints:
/preauthorizations/card/direct
/payins/card/direct
In the API response, the Requested3DSVersion
will show the value you requested:
V1
V2_1
null
– indicates that nothing was requested
The parameter Applied3DSVersion
shows you the version of the 3DS protocol used. Two values are possible:
V1
V2_1
- 3DS2 integration with Shipping and Billing objects, including FirstName and LastName fields
The objects Billing and Shipping may be included on all calls to the following endpoints:
- /preauthorizations/card/direct
- /payins/card/direct
- /payins/card/web
- Enable Instant Payment for payouts by adding a new parameter PayoutModeRequested on the following endpoint /payouts/bankwire
- The new parameter PayoutModeRequested can take two differents values : "INSTANT_PAYMENT" or "STANDARD" (STANDARD = the way we procede normaly a payout request)
- This new parameter is not mandatory and if empty or not present, the payout will be "STANDARD" by default Instant Payment is in beta all over Europe - SEPA region
- Added 'Regulatory' endpoint to allow checks of User Block Status
- Added support for Regulatory -> Blocked Status Hooks
- added test to cover issue
- added new method for PreAuthorization Transactions
- added methods for creating client bank accounts and client payouts
- Missing UserID added in UboDeclaration process
- New endpoint to support changes to Card Validation process (please listen out for product announcements)
- Testing added for added for RemainingFunds feature
- Improved gson support and minor fixes
- As part of KYC improvements, we are adding OUT_OF_DATE as a enum for KYC documents
- Due to changes to the API we are no longer accepting connections with a TLS certificate of 1.1 or lower, this concerns in particular .NET frameworks 4.5 and earlier. This update applies a fix which forced the application to use TLS 1.2. (edited)
- Fixed port settings in setBaseUrl() for use of Mock API - #206
- ProcessedDate is now a long #170
- Modified function to reflect payinExecutionDetailsDirect #157
- Added binaryData as a parameter to resolve DisputeApi defect #195
- Enabled TLS v1.2 for Java 7
- Fixed PayInDeserializer not setting the WireReference from the JSON response.
- New MultiCapture and RemainingFunds Parameters in Preauthorization object
- BankingAlias Object returned now fixed, returns complete info
- Fixed JsonNull In PayInDeserializer, thank you https://github.com/ptroc
- "User-agent" format in the headers changed, aligned to other assets
- USER_KYC_REGULAR has been added as a new Event. Thanks to it, you are now able to know when all the needed KYCs for a user have been validated and its KYCLevel is updated.
- Release adds typing for EventType values KYC_OUTDATED USER_KYC_REGULAR and USER_KYC_LIGHT
- Bug Fix -> Serializing certain address fields, filtering bank accounts
- Serialization issue has been fixed.
ExecutionDetails
property was wrongly sent on JSON request,TemplateURLOptions
was not taken in account for Payin Web.
AccountNumber
property added for PayinsEXTERNAL_INSTRUCTION
(BankingAliases)- GooglePay
Payin
methods are now available. More info about activation to come in the following weeks... EXPIRED
Mandate Status and linkedMANDATE_EXPIRED
Event Type has been added, as this feature will be shortly supported for DirectDebit Payins. More info on our docs
PAYLINE
parameter for PayInTemplateURLOptions will be deprecated in the following weeks for Payin Web (especiallay for Payin Cards).PAYLINEV2
parameter has been added to be used instead.
- ApplePay
Payin
methods are now available. More info about activation to come in the following weeks... - New
Dispute
reason typeCOUNTERFEIT_PRODUCT
has been added.
GetEmoney
method now supports year and month parameters. More info on our docs
- Fix content-length issue on UBODeclaration submission
- Migration to GSON
- new
UBODelaration
submission system CompanyNumber
support for LegalUsers
Travis CI integration has ben fixed and ensure fast & secure package publishing on maven.org again.