- New
PaymentRef
parameter for Payouts.
Added all relevant EVENT_TYPE_CHOICES
for virtual accounts:
VIRTUAL_ACCOUNT_ACTIVE
VIRTUAL_ACCOUNT_BLOCKED
VIRTUAL_ACCOUNT_CLOSED
VIRTUAL_ACCOUNT_FAILED
New endpoints for The Virtual Account object:
- Create a Virtual Account
- Deactivate a Virtual Account
- View a Virtual Account
- List Virtual Accounts for a Wallet
- View Client Availabilities
- Add
PreferredCardNetwork
parameter to Direct Card PayIn object. (thank you @pmourlanne)
- New endpoint: Create a Bancontact PayIn
- Disable
truncatechars
function that would truncate data if it's over 255 characters.
- New parameter SecureModeRedirectURL for Google Pay PayIn
- New parameters StatementDescriptor for Refund
- New endpoint List Transactions for a Client Wallet
- Usage of filters with
ReportTransactions
and thecreate()
method - BIC is not required for iDeal
- 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. - New parameter
PaymentCategory
for Create card validation and two additional endpoints More info
- 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.
- 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
uk_header_flag
boolean configuration key. Platforms partnered with Mangopay's UK entity should set this key to true for proper configuration.
- New endpoint to look up metadata from BIN or Google Pay token. More information here
- Get a card validation endpoint
- Resolved an issue in our Python SDK where certain events were unable to process string-based IDs
- 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 theBankName
parameter. More information here.
It's now possible to specify an amount for DebitedFunds and Fees when you create a refund with PayInRefund()
.
- 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.
- Instantly convert funds between 2 wallets of different currencies owned by the same user with the new SPOT FX endpoints
- 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)
- Google Pay integration & Paypal with Mangopay have been improved. These payment methods are in private beta. Please contact support if you have any questions.
- MBWay & PayPal are now using Web Execution Type.
CIT/MIT should not set secure_mode #332
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.
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 Deposit resource has been added with methods for creating, fetching and canceling a deposit
- The CardPreAuthorizedDepositPayIn resource has been added with methods for creating and fetching a CardPreAuthorizedDepositPayIn
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.
- Removed the default value for
LEGAL_USER_TYPE_CHOICES
in order to prevent mistake on user update
- RecurringPayInRegistration total_amount type;
- Missing event types
- Tests after API update
- 313 Issue with fields for User (not mandatory for some cases)
- 310 fix for negative timestamp value fields in windows
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.
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
PayOutEligibility(params).check_eligibility()
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.
- Refund for MIT/CIT has been fixed
- secure_mode parameter is not set anymore for CIT
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
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.
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->KycDocuments->Get($kycDocument->Id);
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.
As requested by numerous clients, we are now providing Payconiq as a new mean-of-payment. To request access, please contact MANGOPAY.
- BillingField & ShippingField are now optionals for RecurringPayIn
- We have fixed DateTimeField (previously was generating an error due to format)
- Change
FallbackReason
parameter's type to object in BankWirePayOut
- 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.
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 Python SDK.
Example :
get_bank_wire = BankWirePayOut.get_bankwire(payout_id)
# where payout_id is the id of an existing payout
Please note that this feature must be authorized and activated by MANGOPAY. More information here.
Duplicate BIC in resources
- Fix
BankAccount
IBAN reference for tests
More information about how to test payments, click here.
- httplib2 has been updated to the last version
- RemainingFunds was flag wrongly as mandatory for PreAuthorization. It has been fixed.
- ProcessedDate had the type IntegerField instead of DateTimeField. It has been fixed.
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.
We have merged @rbarrois pull request. The logging module expects user to provide the string as a first argument, and all interpolation parameters in separate positional or keyword arguments: logger.debug("trying x=%s", x)
.
This brings two benefits:
-
The interpolation is only performed if the logging message is actually used (debug messages won't even be interpolated if logging is set to WARNING)
-
Monitoring libraries like Sentry can group messages based on their non-interpolated message, which helps detecting similar issues.
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
- Changed date to dateTime and fixed tests
- Changed User-Agent
- Fixed typo on IpAddress, FirstName & LastName
- Added 'Regulatory' endpoint to allow checks of User Block Status
- Added support for Regulatory -> Blocked Status Hooks
- added new methods for client fees wallet bank accounts and payouts
- added new method for PreAuthorization transactions
- fixed handler sandbox false condition
- added headers to APIError
- Improve logging calls.
- Added missing 'creation_date' field to BankWirePayOut
- Handler has been modified in save function
- New RemainingFunds Parameters (Complete feature not fully activated, please listen for product announcements)
- Added CardValidation endpoint (Complete feature not fully activated, please listen for product announcements)
- New MultiCapture Parameter in Preauthorization object (Complete feature not fully activated, please listen for product announcements)
- Added OUT_OF_DATE status for KYC docs
- Library upgrade httplib2
- "User-agent" format in the headers changed, aligned to other assets
- ApplePay Payins support has been added. Feel free to ask our Customer Success / Sales team about conditions and availability.
- GooglePay Payins support has been added. Feel free to ask our Customer Success / Sales team about conditions and availability too
GetEmoney
method now supports year and month parameters. More info on our docs- New
Dispute
reason typeCOUNTERFEIT_PRODUCT
has been added. Culture
parameter has been added forPayin Direct
Mandate
statusEXPIRED
and relatedEventType
MANDATE_EXPIRED
are now supported.
EMoney
amounts for a user are now available by monthDispute
reason typeCOUNTERFEIT_PRODUCT
is now available.- UBOs can now be disactivated thanks to
isActive
property support. Birthday
type is now aDate
rather than anInteger
- Fix issue on
UBODeclaration
creation
- new
UBODelaration
submission system CompanyNumber
support for LegalUsers