Unified Transfer is in active development. As a pioneer merchant, you will be informed of the updates through your Maya Relationship Manager.
Overview
This guide walks you through the full integration journey for the Unified Transfer, from partner onboarding and security setup to testing in Sandbox, and finally going live in Production.
Before you begin, make sure you have read About Unified Transfer to understand its requirements, architecture, and key concepts.
By the end of this guide, you will know the tools, credentials, and configurations required before writing any code.
Getting Started
Step 1: Define Your Setup
- Identify the processing channels you want to support: Maya (in-house, real-time), InstaPay (ACH, real-time), PESONet (ACH, batch), or any combination of these
- Determine your transaction volume and value requirements
- Understand the compliance data you need to collect (KYC/AML requirements)
Step 2: Set Up Required Infrastructure
The Unified Transfer requires FAPI-compliant security and callback infrastructure.
2.1. Create and Host Your JWKS Endpoint
For complete guidance, refer to the following guides:
2.2. Build Your Callback Endpoint
The Unified Transfer processes transfers asynchronously and sends status updates to your callback endpoint.
To build your callback, see Implementing Callback for Unified Transfer
2.3. Generate your GPG Keys
GPG Keys will only be used to encrypt client credentials before sending them to your nominated key recipient.
For more information on acquiring your client credentials, see Bearer Authentication.
Step 3: Contact Maya for Partner Onboarding
The onboarding process is still a work in progress, expect this section to be updated.
The Unified Transfer requires formal partner onboarding with Maya.
3.1. Initiate the onboarding process
Contact your Maya Relationship Manager to begin:
- Email: Maya Relationship Manager email address
- Subject: "Unified Transfer - Partner Onboarding Request"
Include in your request:
- Company name and business registration details
- Contact person and technical lead information
- Intended use case and transaction volume estimates
- Preferred processing channels (Maya, InstaPay, PESONet, or a combination)
- Your JWKS endpoint URL (from Step 2.1)
- Your callback endpoint URL (from Step 2.2)
- Your GPG Keys (from Step 2.3)
- The email address of your nominated key recipient
3.2. Complete documentation requirements
Maya will provide a list of required documents, which typically include:
- Business registration certificates
- Financial institution licenses (if applicable)
- Compliance certifications
- Technical contact information
- Security and data protection policies
3.3. Approval & Account Activation
Once verified and approved, Maya will:
- Create your partner account in their system
- Send your client credentials (Client ID and Client Secret) to your nominated key recipient for the Sandbox. Note: Production credentials will be provided after Maya's acceptance testing approval
- Register your JWKS endpoint URL
- Configure your callback endpoint URL
Step 4: Configure & Implement
4.1. Review How API Authentication Works in Unified Transfer
4.2. Review the Technical Documentation and API specification:
Step 5: Test Your Integration in Sandbox
Minimum test coverage required:
- Successful transfer flow: Initiate → Confirm → Receive callback with
APPROVEDstatus - Error scenarios: Invalid accounts, insufficient balance, missing compliance data, expired confirmation
- Inquiry endpoints: Status checks by transaction ID and originator transaction ID
- Callback handling: Verify your endpoint receives and processes callbacks correctly
- Compliance data: Test with complete KYC/AML information
Step 6: Submit Testing Results
Once testing is complete, submit your results to Maya:
The test results submission process is still a work in progress, expect this section to be updated.
Recipients:
- Maya Integration Support: [email protected]
- Your Maya Relationship Manager
Include:
- Partner name and account details
- Summary of test scenarios completed
- Screenshots of successful transactions (all statuses)
- Screenshots of callback responses (2xx status codes)
- Screenshots of error handling
- Confirmation that the JWKS endpoint is accessible
- Confirmation that the callback endpoint is ready for production
Step 7: Go Live in Production
When ready, coordinate with your Maya Relationship Manager to transition to Production.
Before Going to Production
- Complete all Sandbox testing and submit your sign-off
- Obtain Maya's acceptance testing approval
- Review your error handling and monitoring procedures
- Prepare your production environment:
- Set up production JWKS endpoint
- Configure production callback endpoint
- Implement production monitoring and alerting
- Set up production key management
- Update your application with production values:
- OAuth credentials: Maya will send the production OAuth 2.0 credentials (Client ID and Client Secret) to your nominated key recipient.
- API endpoints (for production environment URLs, see the Environments section in the About Unified Transfer.
After Going Live in Production
- Conduct pilot testing with small transaction amounts
- Monitor all transactions closely for the first few days
- Verify callbacks are being received and processed
- Submit your final signoff to Maya
- Gradually increase transaction volume
Production Support
For production issues or support, contact [email protected] with your partner account details and transaction IDs.
Estimated Activities and Timelines
Considering internal complexities like engineering resources, security setup, compliance requirements, and team coordination, the integration with the Unified Transfer can take anywhere from weeks to months.
Note that this are all rough estimates and the activities depend on the integrating partner's resources and timelines.
| PHASE | ESTIMATES | TASKS |
|---|---|---|
| Prepare the required infrastructure onboarding | ~1 week | Generate your RSA keys, create and host your JWKS endpoint, and set up your callback infrastructure |
| Partner Onboarding | 1-2 weeks | Submission of documentation, compliance verification, and account creation. Sandbox credentials are provided during this phase. |
| Building the Integration | 3-6 weeks | Develop your integration, implement request signing, build callback handling, and integrate with your systems. Timeline varies based on complexity. |
| Testing in Sandbox | 1-2 weeks | Complete end-to-end testing in Sandbox, test all scenarios, and provide signoff to Maya. |
| Transition to Production | 1-2 weeks | Maya's review and approval process. Production credentials were provided during this phase. |
| Go Live | 1 week | Pilot testing in Production with real transactions, monitoring, and final signoff. |
FAQs
Q: Do I need to complete onboarding before I can test?
A: Yes, you must be onboarded as a partner and receive your OAuth 2.0 credentials before you can access the Sandbox environment.
Q: Can I test without setting up a JWKS endpoint?
A: No, the JWKS endpoint is required for FAPI-compliant request signing. All API requests must include a valid JWS signature.
Q: What happens if my callback endpoint is down?
A: Maya will attempt delivery up to 5 times total: initial attempt, immediate retry, then scheduled retries at 5 minutes, 15 minutes, and 45 minutes after each previous retry fails. If all attempts fail, you must use the inquiry endpoints to check transaction status.
Q: Can I use the same credentials for Sandbox and Production?
A: No, Sandbox and Production have separate credentials. Never use production credentials in Sandbox or vice versa.
Q: When should I use InstaPay vs PESONet?
A: Use InstaPay for real-time transfers up to ₱50,000, and PESONet for higher-value transfers up to ₱300,000 that can be processed in batches.
Next Steps
You have now completed the setup for Unified Transfer and are ready to integrate.
- For technical questions, refer to the technical guides:
- For partner account-related requests, contact your assigned Maya support contact
- For production issues, email [email protected]