mirror of
https://github.com/bringout/oca-ocb-core.git
synced 2026-04-18 03:32:08 +02:00
payment
This commit is contained in:
parent
12c29a983b
commit
95fcc8bd63
189 changed files with 170858 additions and 0 deletions
48
odoo-bringout-oca-ocb-payment/README.md
Normal file
48
odoo-bringout-oca-ocb-payment/README.md
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
# Payment Engine
|
||||
|
||||
Odoo addon: payment
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
pip install odoo-bringout-oca-ocb-payment
|
||||
```
|
||||
|
||||
## Patches Applied
|
||||
|
||||
- **Payment Provider Dependencies Removal**: External payment provider dependencies have been removed to prevent installation issues. See [doc/PATCH_REMOVE_PAYMENT_PROVIDERS.md](doc/PATCH_REMOVE_PAYMENT_PROVIDERS.md) for details.
|
||||
|
||||
## Dependencies
|
||||
|
||||
This addon depends on:
|
||||
- portal
|
||||
|
||||
## Manifest Information
|
||||
|
||||
- **Name**: Payment Engine
|
||||
- **Version**: 2.0
|
||||
- **Category**: Hidden
|
||||
- **License**: LGPL-3
|
||||
- **Installable**: False
|
||||
|
||||
## Source
|
||||
|
||||
Based on [OCA/OCB](https://github.com/OCA/OCB) branch 16.0, addon `payment`.
|
||||
|
||||
## License
|
||||
|
||||
This package maintains the original LGPL-3 license from the upstream Odoo project.
|
||||
|
||||
## Documentation
|
||||
|
||||
- Overview: doc/OVERVIEW.md
|
||||
- Architecture: doc/ARCHITECTURE.md
|
||||
- Models: doc/MODELS.md
|
||||
- Controllers: doc/CONTROLLERS.md
|
||||
- Wizards: doc/WIZARDS.md
|
||||
- Install: doc/INSTALL.md
|
||||
- Usage: doc/USAGE.md
|
||||
- Configuration: doc/CONFIGURATION.md
|
||||
- Dependencies: doc/DEPENDENCIES.md
|
||||
- Troubleshooting: doc/TROUBLESHOOTING.md
|
||||
- FAQ: doc/FAQ.md
|
||||
32
odoo-bringout-oca-ocb-payment/doc/ARCHITECTURE.md
Normal file
32
odoo-bringout-oca-ocb-payment/doc/ARCHITECTURE.md
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# Architecture
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
U[Users] -->|HTTP| V[Views and QWeb Templates]
|
||||
V --> C[Controllers]
|
||||
V --> W[Wizards – Transient Models]
|
||||
C --> M[Models and ORM]
|
||||
W --> M
|
||||
M --> R[Reports]
|
||||
DX[Data XML] --> M
|
||||
S[Security – ACLs and Groups] -. enforces .-> M
|
||||
|
||||
subgraph Payment Module - payment
|
||||
direction LR
|
||||
M:::layer
|
||||
W:::layer
|
||||
C:::layer
|
||||
V:::layer
|
||||
R:::layer
|
||||
S:::layer
|
||||
DX:::layer
|
||||
end
|
||||
|
||||
classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px
|
||||
```
|
||||
|
||||
Notes
|
||||
- Views include tree/form/kanban templates and report templates.
|
||||
- Controllers provide website/portal routes when present.
|
||||
- Wizards are UI flows implemented with `models.TransientModel`.
|
||||
- Data XML loads data/demo records; Security defines groups and access.
|
||||
3
odoo-bringout-oca-ocb-payment/doc/CONFIGURATION.md
Normal file
3
odoo-bringout-oca-ocb-payment/doc/CONFIGURATION.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# Configuration
|
||||
|
||||
Refer to Odoo settings for payment. Configure related models, access rights, and options as needed.
|
||||
17
odoo-bringout-oca-ocb-payment/doc/CONTROLLERS.md
Normal file
17
odoo-bringout-oca-ocb-payment/doc/CONTROLLERS.md
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
# Controllers
|
||||
|
||||
HTTP routes provided by this module.
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant U as User/Client
|
||||
participant C as Module Controllers
|
||||
participant O as ORM/Views
|
||||
|
||||
U->>C: HTTP GET/POST (routes)
|
||||
C->>O: ORM operations, render templates
|
||||
O-->>U: HTML/JSON/PDF
|
||||
```
|
||||
|
||||
Notes
|
||||
- See files in controllers/ for route definitions.
|
||||
5
odoo-bringout-oca-ocb-payment/doc/DEPENDENCIES.md
Normal file
5
odoo-bringout-oca-ocb-payment/doc/DEPENDENCIES.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# Dependencies
|
||||
|
||||
This addon depends on:
|
||||
|
||||
- [portal](../../odoo-bringout-oca-ocb-portal)
|
||||
4
odoo-bringout-oca-ocb-payment/doc/FAQ.md
Normal file
4
odoo-bringout-oca-ocb-payment/doc/FAQ.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# FAQ
|
||||
|
||||
- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged).
|
||||
- Q: How to enable? A: Start server with --addon payment or install in UI.
|
||||
7
odoo-bringout-oca-ocb-payment/doc/INSTALL.md
Normal file
7
odoo-bringout-oca-ocb-payment/doc/INSTALL.md
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# Install
|
||||
|
||||
```bash
|
||||
pip install odoo-bringout-oca-ocb-payment"
|
||||
# or
|
||||
uv pip install odoo-bringout-oca-ocb-payment"
|
||||
```
|
||||
18
odoo-bringout-oca-ocb-payment/doc/MODELS.md
Normal file
18
odoo-bringout-oca-ocb-payment/doc/MODELS.md
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# Models
|
||||
|
||||
Detected core models and extensions in payment.
|
||||
|
||||
```mermaid
|
||||
classDiagram
|
||||
class payment_icon
|
||||
class payment_provider
|
||||
class payment_token
|
||||
class payment_transaction
|
||||
class ir_http
|
||||
class res_company
|
||||
class res_partner
|
||||
```
|
||||
|
||||
Notes
|
||||
- Classes show model technical names; fields omitted for brevity.
|
||||
- Items listed under _inherit are extensions of existing models.
|
||||
6
odoo-bringout-oca-ocb-payment/doc/OVERVIEW.md
Normal file
6
odoo-bringout-oca-ocb-payment/doc/OVERVIEW.md
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# Overview
|
||||
|
||||
Packaged Odoo addon: payment. Provides features documented in upstream Odoo 16 under this addon.
|
||||
|
||||
- Source: OCA/OCB 16.0, addon payment
|
||||
- License: LGPL-3
|
||||
|
|
@ -0,0 +1,156 @@
|
|||
# Patch: Remove Payment Provider Dependencies
|
||||
|
||||
## Summary
|
||||
|
||||
This patch removes external payment provider dependencies from the payment module to resolve installation issues with the invoicing/accounting module.
|
||||
|
||||
**Date:** 2025-08-24
|
||||
**Issue:** FileNotFoundError during account module installation due to missing payment provider modules
|
||||
**Solution:** Remove payment provider data records that reference non-existent modules
|
||||
|
||||
## Problem Description
|
||||
|
||||
When attempting to install the invoicing module from `packages/odoo-bringout-oca-ocb-account/`, the installation failed with the following error:
|
||||
|
||||
```
|
||||
FileNotFoundError: File not found: payment_adyen/static/description/icon.png
|
||||
|
||||
Traceback (most recent call last):
|
||||
File "/home/odoo/packages/odoo-bringout-oca-ocb-base/odoo/tools/convert.py", line 706, in _tag_root
|
||||
f(rec)
|
||||
File "/home/odoo/packages/odoo-bringout-oca-ocb-base/odoo/tools/convert.py", line 581, in _tag_record
|
||||
f_val = _eval_xml(self, field, env)
|
||||
File "/home/odoo/packages/odoo-bringout-oca-ocb-base/odoo/tools/convert.py", line 149, in _eval_xml
|
||||
with file_open(node.get('file'), 'rb', env=env) as f:
|
||||
File "/home/odoo/packages/odoo-bringout-oca-ocb-base/odoo/tools/misc.py", line 212, in file_open
|
||||
path = file_path(name, filter_ext=filter_ext, env=env)
|
||||
File "/home/odoo/packages/odoo-bringout-oca-ocb-base/odoo/tools/misc.py", line 191, in file_path
|
||||
raise FileNotFoundError("File not found: " + file_path)
|
||||
```
|
||||
|
||||
## Root Cause Analysis
|
||||
|
||||
The error occurred because the `../odoo-bringout-oca-ocb-payment/payment/data/payment_provider_data.xml` file contained references to external payment provider modules that were not present in the packages directory:
|
||||
|
||||
- `payment_adyen`
|
||||
- `payment_aps`
|
||||
- `payment_asiapay`
|
||||
- `payment_authorize`
|
||||
- `payment_buckaroo`
|
||||
- `payment_demo`
|
||||
- `payment_flutterwave`
|
||||
- `payment_mercado_pago`
|
||||
- `payment_mollie`
|
||||
- `payment_paypal`
|
||||
- `payment_razorpay`
|
||||
- `payment_sips`
|
||||
- `payment_stripe`
|
||||
- `payment_custom`
|
||||
|
||||
Each of these records attempted to load icon files from their respective module directories, which did not exist, causing the invoicing module installation to fail.
|
||||
|
||||
## Investigation Process
|
||||
|
||||
1. **Package Structure Analysis**: Examined the `/packages` directory to identify available modules
|
||||
2. **Dependency Mapping**: Confirmed that the referenced payment provider modules were not present
|
||||
3. **Error Trace Analysis**: Located the problematic XML file and specific line causing the failure
|
||||
4. **Impact Assessment**: Determined that removing these providers would not affect core payment functionality
|
||||
|
||||
## Solution Implementation
|
||||
|
||||
### Files Modified
|
||||
|
||||
**File:** `packages/odoo-bringout-oca-ocb-payment/payment/data/payment_provider_data.xml`
|
||||
|
||||
**Changes Made:**
|
||||
- Removed all payment provider records that referenced non-existent modules
|
||||
- Simplified the file to contain only essential structure
|
||||
- Added explanatory comment about the removal
|
||||
|
||||
### Before (252 lines)
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo noupdate="1">
|
||||
|
||||
<record id="payment_provider_adyen" model="payment.provider">
|
||||
<field name="name">Adyen</field>
|
||||
<field name="display_as">Credit Card (powered by Adyen)</field>
|
||||
<field name="image_128" type="base64" file="payment_adyen/static/description/icon.png"/>
|
||||
<field name="module_id" ref="base.module_payment_adyen"/>
|
||||
<!-- ... more providers ... -->
|
||||
</record>
|
||||
<!-- ... 15+ payment provider records ... -->
|
||||
|
||||
</odoo>
|
||||
```
|
||||
|
||||
### After (6 lines)
|
||||
```xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo noupdate="1">
|
||||
|
||||
<!-- Simplified payment provider data - removed external payment modules dependencies -->
|
||||
|
||||
</odoo>
|
||||
```
|
||||
|
||||
## Impact Assessment
|
||||
|
||||
### Positive Impacts
|
||||
- ✅ Resolves installation failures for accounting/invoicing modules
|
||||
- ✅ Eliminates dependency on non-existent payment provider modules
|
||||
- ✅ Simplifies the payment module structure
|
||||
- ✅ Enables successful Docker container operations
|
||||
|
||||
### Removed Functionality
|
||||
- ❌ Pre-configured payment provider records for external services
|
||||
- ❌ Default payment method icons and configurations
|
||||
- ❌ Out-of-the-box integration with third-party payment processors
|
||||
|
||||
### Mitigation
|
||||
Payment providers can still be configured manually through the Odoo interface if/when the actual payment provider modules are installed. The core payment infrastructure remains intact.
|
||||
|
||||
## Testing Results
|
||||
|
||||
After applying the patch:
|
||||
- ✅ Docker services start successfully
|
||||
- ✅ No more FileNotFoundError exceptions
|
||||
- ✅ Invoicing module installation proceeds without errors
|
||||
- ✅ Core payment functionality remains available
|
||||
|
||||
## Recommendations
|
||||
|
||||
### Short Term
|
||||
1. **Monitor Installation**: Verify that other modules dependent on payment functionality install correctly
|
||||
2. **Document Limitations**: Ensure users understand that external payment providers need manual configuration
|
||||
3. **Test Core Flows**: Validate that basic payment workflows still function
|
||||
|
||||
### Long Term
|
||||
1. **Conditional Loading**: Consider implementing conditional loading of payment providers based on module availability
|
||||
2. **Module Dependencies**: Review and update module dependency declarations
|
||||
3. **Provider Modules**: Add actual payment provider modules if needed for production use
|
||||
|
||||
## Related Files
|
||||
|
||||
- `packages/odoo-bringout-oca-ocb-payment/payment/data/payment_provider_data.xml` - Modified file
|
||||
- `packages/odoo-bringout-oca-ocb-account/account/__manifest__.py` - Dependent module
|
||||
- `docker/docker-compose.yml` - Docker configuration
|
||||
- `scripts/build_docker.sh` - Build script
|
||||
|
||||
## Docker Environment
|
||||
|
||||
This patch was applied in the context of a Dockerized Odoo environment:
|
||||
- **Container**: `odoo-pythonic-app`
|
||||
- **Database**: PostgreSQL container `odoo-postgres`
|
||||
- **Port**: 8069
|
||||
- **Working Directory**: `/home/odoo`
|
||||
|
||||
## Reverting the Patch
|
||||
|
||||
To revert this patch, restore the original content of `payment_provider_data.xml` from version control or reinstall the payment module from upstream. Note that doing so will reintroduce the installation errors unless the referenced payment provider modules are also installed.
|
||||
|
||||
## Author
|
||||
|
||||
Applied by: Claude Code Assistant
|
||||
Date: 2025-08-24
|
||||
Context: Docker environment setup and invoicing module installation troubleshooting
|
||||
3
odoo-bringout-oca-ocb-payment/doc/REPORTS.md
Normal file
3
odoo-bringout-oca-ocb-payment/doc/REPORTS.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# Reports
|
||||
|
||||
This module does not define custom reports.
|
||||
41
odoo-bringout-oca-ocb-payment/doc/SECURITY.md
Normal file
41
odoo-bringout-oca-ocb-payment/doc/SECURITY.md
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
# Security
|
||||
|
||||
Access control and security definitions in payment.
|
||||
|
||||
## Access Control Lists (ACLs)
|
||||
|
||||
Model access permissions defined in:
|
||||
- **[ir.model.access.csv](../payment/security/ir.model.access.csv)**
|
||||
- 12 model access rules
|
||||
|
||||
## Record Rules
|
||||
|
||||
Row-level security rules defined in:
|
||||
|
||||
## Security Groups & Configuration
|
||||
|
||||
Security groups and permissions defined in:
|
||||
- **[payment_security.xml](../payment/security/payment_security.xml)**
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph "Security Layers"
|
||||
A[Users] --> B[Groups]
|
||||
B --> C[Access Control Lists]
|
||||
C --> D[Models]
|
||||
B --> E[Record Rules]
|
||||
E --> F[Individual Records]
|
||||
end
|
||||
```
|
||||
|
||||
Security files overview:
|
||||
- **[ir.model.access.csv](../payment/security/ir.model.access.csv)**
|
||||
- Model access permissions (CRUD rights)
|
||||
- **[payment_security.xml](../payment/security/payment_security.xml)**
|
||||
- Security groups, categories, and XML-based rules
|
||||
|
||||
Notes
|
||||
- Access Control Lists define which groups can access which models
|
||||
- Record Rules provide row-level security (filter records by user/group)
|
||||
- Security groups organize users and define permission sets
|
||||
- All security is enforced at the ORM level by Odoo
|
||||
5
odoo-bringout-oca-ocb-payment/doc/TROUBLESHOOTING.md
Normal file
5
odoo-bringout-oca-ocb-payment/doc/TROUBLESHOOTING.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# Troubleshooting
|
||||
|
||||
- Ensure Python and Odoo environment matches repo guidance.
|
||||
- Check database connectivity and logs if startup fails.
|
||||
- Validate that dependent addons listed in DEPENDENCIES.md are installed.
|
||||
7
odoo-bringout-oca-ocb-payment/doc/USAGE.md
Normal file
7
odoo-bringout-oca-ocb-payment/doc/USAGE.md
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
# Usage
|
||||
|
||||
Start Odoo including this addon (from repo root):
|
||||
|
||||
```bash
|
||||
python3 scripts/odoo_web_server.py --db-name mydb --addon payment
|
||||
```
|
||||
3
odoo-bringout-oca-ocb-payment/doc/WIZARDS.md
Normal file
3
odoo-bringout-oca-ocb-payment/doc/WIZARDS.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# Wizards
|
||||
|
||||
This module does not include UI wizards.
|
||||
18
odoo-bringout-oca-ocb-payment/payment/__init__.py
Normal file
18
odoo-bringout-oca-ocb-payment/payment/__init__.py
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import controllers
|
||||
from . import models
|
||||
from . import utils
|
||||
from . import wizards
|
||||
|
||||
from odoo import api, SUPERUSER_ID
|
||||
|
||||
|
||||
def setup_provider(cr, registry, code):
|
||||
env = api.Environment(cr, SUPERUSER_ID, {})
|
||||
env['payment.provider']._setup_provider(code)
|
||||
|
||||
|
||||
def reset_payment_provider(cr, registry, code):
|
||||
env = api.Environment(cr, SUPERUSER_ID, {})
|
||||
env['payment.provider']._remove_provider(code)
|
||||
50
odoo-bringout-oca-ocb-payment/payment/__manifest__.py
Normal file
50
odoo-bringout-oca-ocb-payment/payment/__manifest__.py
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
{
|
||||
'name': "Payment Engine",
|
||||
'version': '2.0',
|
||||
'category': 'Hidden',
|
||||
'summary': "The payment engine used by payment provider modules.",
|
||||
'depends': ['portal'],
|
||||
'data': [
|
||||
'data/payment_icon_data.xml',
|
||||
'data/payment_provider_data.xml',
|
||||
'data/payment_cron.xml',
|
||||
|
||||
'views/payment_portal_templates.xml',
|
||||
'views/payment_templates.xml',
|
||||
|
||||
'views/payment_provider_views.xml',
|
||||
'views/payment_icon_views.xml',
|
||||
'views/payment_transaction_views.xml',
|
||||
'views/payment_token_views.xml', # Depends on `action_payment_transaction_linked_to_token`
|
||||
'views/res_partner_views.xml',
|
||||
|
||||
'security/ir.model.access.csv',
|
||||
'security/payment_security.xml',
|
||||
|
||||
'wizards/payment_link_wizard_views.xml',
|
||||
'wizards/payment_onboarding_views.xml',
|
||||
],
|
||||
'demo': [
|
||||
'data/payment_demo.xml',
|
||||
],
|
||||
'assets': {
|
||||
'web.assets_frontend': [
|
||||
'payment/static/src/scss/portal_payment.scss',
|
||||
'payment/static/src/scss/payment_templates.scss',
|
||||
'payment/static/src/scss/payment_form.scss',
|
||||
'payment/static/lib/jquery.payment/jquery.payment.js',
|
||||
'payment/static/src/js/checkout_form.js',
|
||||
'payment/static/src/js/express_checkout_form.js',
|
||||
'payment/static/src/js/manage_form.js',
|
||||
'payment/static/src/js/payment_form_mixin.js',
|
||||
'payment/static/src/js/post_processing.js',
|
||||
'payment/static/src/xml/payment_post_processing.xml',
|
||||
],
|
||||
'web.assets_backend': [
|
||||
'payment/static/src/scss/payment_provider.scss',
|
||||
],
|
||||
},
|
||||
'license': 'LGPL-3',
|
||||
}
|
||||
281
odoo-bringout-oca-ocb-payment/payment/const.py
Normal file
281
odoo-bringout-oca-ocb-payment/payment/const.py
Normal file
|
|
@ -0,0 +1,281 @@
|
|||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
# According to https://en.wikipedia.org/wiki/ISO_4217#Minor_unit_fractions
|
||||
CURRENCY_MINOR_UNITS = {
|
||||
'ADF': 2,
|
||||
'ADP': 0,
|
||||
'AED': 2,
|
||||
'AFA': 2,
|
||||
'AFN': 2,
|
||||
'ALL': 2,
|
||||
'AMD': 2,
|
||||
'ANG': 2,
|
||||
'AOA': 2,
|
||||
'AOK': 0,
|
||||
'AON': 0,
|
||||
'AOR': 0,
|
||||
'ARA': 2,
|
||||
'ARL': 2,
|
||||
'ARP': 2,
|
||||
'ARS': 2,
|
||||
'ATS': 2,
|
||||
'AUD': 2,
|
||||
'AWG': 2,
|
||||
'AYM': 0,
|
||||
'AZM': 2,
|
||||
'AZN': 2,
|
||||
'BAD': 2,
|
||||
'BAM': 2,
|
||||
'BBD': 2,
|
||||
'BDS': 2,
|
||||
'BDT': 2,
|
||||
'BEF': 2,
|
||||
'BGL': 2,
|
||||
'BGN': 2,
|
||||
'BHD': 3,
|
||||
'BIF': 0,
|
||||
'BMD': 2,
|
||||
'BND': 2,
|
||||
'BOB': 2,
|
||||
'BOP': 2,
|
||||
'BOV': 2,
|
||||
'BRB': 2,
|
||||
'BRC': 2,
|
||||
'BRE': 2,
|
||||
'BRL': 2,
|
||||
'BRN': 2,
|
||||
'BRR': 2,
|
||||
'BSD': 2,
|
||||
'BTN': 2,
|
||||
'BWP': 2,
|
||||
'BYB': 2,
|
||||
'BYN': 2,
|
||||
'BYR': 0,
|
||||
'BZD': 2,
|
||||
'CAD': 2,
|
||||
'CDF': 2,
|
||||
'CHC': 2,
|
||||
'CHE': 2,
|
||||
'CHF': 2,
|
||||
'CHW': 2,
|
||||
'CLF': 4,
|
||||
'CLP': 0,
|
||||
'CNH': 2,
|
||||
'CNT': 2,
|
||||
'CNY': 2,
|
||||
'COP': 2,
|
||||
'COU': 2,
|
||||
'CRC': 2,
|
||||
'CSD': 2,
|
||||
'CUC': 2,
|
||||
'CUP': 2,
|
||||
'CVE': 2,
|
||||
'CYP': 2,
|
||||
'CZK': 2,
|
||||
'DEM': 2,
|
||||
'DJF': 0,
|
||||
'DKK': 2,
|
||||
'DOP': 2,
|
||||
'DZD': 2,
|
||||
'ECS': 0,
|
||||
'ECV': 2,
|
||||
'EEK': 2,
|
||||
'EGP': 2,
|
||||
'ERN': 2,
|
||||
'ESP': 0,
|
||||
'ETB': 2,
|
||||
'EUR': 2,
|
||||
'FIM': 2,
|
||||
'FJD': 2,
|
||||
'FKP': 2,
|
||||
'FRF': 2,
|
||||
'GBP': 2,
|
||||
'GEK': 0,
|
||||
'GEL': 2,
|
||||
'GGP': 2,
|
||||
'GHC': 2,
|
||||
'GHP': 2,
|
||||
'GHS': 2,
|
||||
'GIP': 2,
|
||||
'GMD': 2,
|
||||
'GNF': 0,
|
||||
'GTQ': 2,
|
||||
'GWP': 2,
|
||||
'GYD': 2,
|
||||
'HKD': 2,
|
||||
'HNL': 2,
|
||||
'HRD': 2,
|
||||
'HRK': 2,
|
||||
'HTG': 2,
|
||||
'HUF': 2,
|
||||
'IDR': 2,
|
||||
'IEP': 2,
|
||||
'ILR': 2,
|
||||
'ILS': 2,
|
||||
'IMP': 2,
|
||||
'INR': 2,
|
||||
'IQD': 3,
|
||||
'IRR': 2,
|
||||
'ISJ': 2,
|
||||
'ISK': 0,
|
||||
'ITL': 0,
|
||||
'JEP': 2,
|
||||
'JMD': 2,
|
||||
'JOD': 3,
|
||||
'JPY': 0,
|
||||
'KES': 2,
|
||||
'KGS': 2,
|
||||
'KHR': 2,
|
||||
'KID': 2,
|
||||
'KMF': 0,
|
||||
'KPW': 2,
|
||||
'KRW': 0,
|
||||
'KWD': 3,
|
||||
'KYD': 2,
|
||||
'KZT': 2,
|
||||
'LAK': 2,
|
||||
'LBP': 2,
|
||||
'LKR': 2,
|
||||
'LRD': 2,
|
||||
'LSL': 2,
|
||||
'LTL': 2,
|
||||
'LTT': 2,
|
||||
'LUF': 2,
|
||||
'LVL': 2,
|
||||
'LVR': 2,
|
||||
'LYD': 3,
|
||||
'MAD': 2,
|
||||
'MAF': 2,
|
||||
'MCF': 2,
|
||||
'MDL': 2,
|
||||
'MGA': 2,
|
||||
'MGF': 0,
|
||||
'MKD': 2,
|
||||
'MMK': 2,
|
||||
'MNT': 2,
|
||||
'MOP': 2,
|
||||
'MRO': 2,
|
||||
'MRU': 2,
|
||||
'MTL': 2,
|
||||
'MUR': 2,
|
||||
'MVR': 2,
|
||||
'MWK': 2,
|
||||
'MXN': 2,
|
||||
'MXV': 2,
|
||||
'MYR': 2,
|
||||
'MZE': 2,
|
||||
'MZM': 2,
|
||||
'MZN': 2,
|
||||
'NAD': 2,
|
||||
'NGN': 2,
|
||||
'NIC': 2,
|
||||
'NIO': 2,
|
||||
'NIS': 2,
|
||||
'NLG': 2,
|
||||
'NOK': 2,
|
||||
'NPR': 2,
|
||||
'NTD': 2,
|
||||
'NZD': 2,
|
||||
'OMR': 3,
|
||||
'PAB': 2,
|
||||
'PEN': 2,
|
||||
'PES': 2,
|
||||
'PGK': 2,
|
||||
'PHP': 2,
|
||||
'PKR': 2,
|
||||
'PLN': 2,
|
||||
'PLZ': 2,
|
||||
'PRB': 2,
|
||||
'PTE': 0,
|
||||
'PYG': 0,
|
||||
'QAR': 2,
|
||||
'RHD': 2,
|
||||
'RMB': 2,
|
||||
'ROL': 0,
|
||||
'RON': 2,
|
||||
'RSD': 2,
|
||||
'RUB': 2,
|
||||
'RUR': 2,
|
||||
'RWF': 0,
|
||||
'SAR': 2,
|
||||
'SBD': 2,
|
||||
'SCR': 2,
|
||||
'SDD': 2,
|
||||
'SDG': 2,
|
||||
'SEK': 2,
|
||||
'SGD': 2,
|
||||
'SHP': 2,
|
||||
'SIT': 2,
|
||||
'SKK': 2,
|
||||
'SLE': 2,
|
||||
'SLL': 2,
|
||||
'SLS': 2,
|
||||
'SML': 0,
|
||||
'SOS': 2,
|
||||
'SRD': 2,
|
||||
'SRG': 2,
|
||||
'SSP': 2,
|
||||
'STD': 2,
|
||||
'STG': 2,
|
||||
'STN': 2,
|
||||
'SVC': 2,
|
||||
'SYP': 2,
|
||||
'SZL': 2,
|
||||
'THB': 2,
|
||||
'TJR': 0,
|
||||
'TJS': 2,
|
||||
'TMM': 2,
|
||||
'TMT': 2,
|
||||
'TND': 3,
|
||||
'TOP': 2,
|
||||
'TPE': 0,
|
||||
'TRL': 0,
|
||||
'TRY': 2,
|
||||
'TTD': 2,
|
||||
'TVD': 2,
|
||||
'TWD': 2,
|
||||
'TZS': 2,
|
||||
'UAH': 2,
|
||||
'UAK': 2,
|
||||
'UGX': 0,
|
||||
'USD': 2,
|
||||
'USN': 2,
|
||||
'USS': 2,
|
||||
'UYI': 0,
|
||||
'UYN': 2,
|
||||
'UYU': 2,
|
||||
'UYW': 4,
|
||||
'UZS': 2,
|
||||
'VAL': 0,
|
||||
'VEB': 2,
|
||||
'VED': 2,
|
||||
'VEF': 2,
|
||||
'VES': 2,
|
||||
'VND': 0,
|
||||
'VUV': 0,
|
||||
'WST': 2,
|
||||
'XAF': 0,
|
||||
'XCD': 2,
|
||||
'XEU': 0,
|
||||
'XOF': 0,
|
||||
'XPF': 0,
|
||||
'YER': 2,
|
||||
'YUD': 2,
|
||||
'YUG': 2,
|
||||
'YUM': 2,
|
||||
'YUN': 2,
|
||||
'YUO': 2,
|
||||
'YUR': 2,
|
||||
'ZAL': 2,
|
||||
'ZAR': 2,
|
||||
'ZMK': 2,
|
||||
'ZMW': 2,
|
||||
'ZRN': 2,
|
||||
'ZRZ': 2,
|
||||
'ZWB': 2,
|
||||
'ZWC': 2,
|
||||
'ZWD': 2,
|
||||
'ZWL': 2,
|
||||
'ZWN': 2,
|
||||
'ZWR': 2
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from . import portal
|
||||
443
odoo-bringout-oca-ocb-payment/payment/controllers/portal.py
Normal file
443
odoo-bringout-oca-ocb-payment/payment/controllers/portal.py
Normal file
|
|
@ -0,0 +1,443 @@
|
|||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
import urllib.parse
|
||||
import werkzeug
|
||||
|
||||
from odoo import _, http
|
||||
from odoo.exceptions import AccessError, UserError, ValidationError
|
||||
from odoo.http import request
|
||||
|
||||
from odoo.addons.payment import utils as payment_utils
|
||||
from odoo.addons.payment.controllers.post_processing import PaymentPostProcessing
|
||||
from odoo.addons.portal.controllers import portal
|
||||
|
||||
|
||||
class PaymentPortal(portal.CustomerPortal):
|
||||
|
||||
""" This controller contains the foundations for online payments through the portal.
|
||||
|
||||
It allows to complete a full payment flow without the need of going through a document-based
|
||||
flow made available by another module's controller.
|
||||
|
||||
Such controllers should extend this one to gain access to the _create_transaction static method
|
||||
that implements the creation of a transaction before its processing, or to override specific
|
||||
routes and change their behavior globally (e.g. make the /pay route handle sale orders).
|
||||
|
||||
The following routes are exposed:
|
||||
- `/payment/pay` allows for arbitrary payments.
|
||||
- `/my/payment_method` allows the user to create and delete tokens. It's its own `landing_route`
|
||||
- `/payment/transaction` is the `transaction_route` for the standard payment flow. It creates a
|
||||
draft transaction, and return the processing values necessary for the completion of the
|
||||
transaction.
|
||||
- `/payment/confirmation` is the `landing_route` for the standard payment flow. It displays the
|
||||
payment confirmation page to the user when the transaction is validated.
|
||||
"""
|
||||
|
||||
@http.route(
|
||||
'/payment/pay', type='http', methods=['GET'], auth='public', website=True, sitemap=False,
|
||||
)
|
||||
def payment_pay(
|
||||
self, reference=None, amount=None, currency_id=None, partner_id=None, company_id=None,
|
||||
provider_id=None, access_token=None, **kwargs
|
||||
):
|
||||
""" Display the payment form with optional filtering of payment options.
|
||||
|
||||
The filtering takes place on the basis of provided parameters, if any. If a parameter is
|
||||
incorrect or malformed, it is skipped to avoid preventing the user from making the payment.
|
||||
|
||||
In addition to the desired filtering, a second one ensures that none of the following
|
||||
rules is broken:
|
||||
- Public users are not allowed to save their payment method as a token.
|
||||
- Payments made by public users should either *not* be made on behalf of a specific
|
||||
partner or have an access token validating the partner, amount and currency.
|
||||
We let access rights and security rules do their job for logged in users.
|
||||
|
||||
:param str reference: The custom prefix to compute the full reference
|
||||
:param str amount: The amount to pay
|
||||
:param str currency_id: The desired currency, as a `res.currency` id
|
||||
:param str partner_id: The partner making the payment, as a `res.partner` id
|
||||
:param str company_id: The related company, as a `res.company` id
|
||||
:param str provider_id: The desired provider, as a `payment.provider` id
|
||||
:param str access_token: The access token used to authenticate the partner
|
||||
:param dict kwargs: Optional data passed to helper methods.
|
||||
:return: The rendered checkout form
|
||||
:rtype: str
|
||||
:raise: werkzeug.exceptions.NotFound if the access token is invalid
|
||||
"""
|
||||
# Cast numeric parameters as int or float and void them if their str value is malformed
|
||||
currency_id, provider_id, partner_id, company_id = tuple(map(
|
||||
self._cast_as_int, (currency_id, provider_id, partner_id, company_id)
|
||||
))
|
||||
amount = self._cast_as_float(amount)
|
||||
|
||||
# Raise an HTTP 404 if a partner is provided with an invalid access token
|
||||
if partner_id:
|
||||
if not payment_utils.check_access_token(access_token, partner_id, amount, currency_id):
|
||||
raise werkzeug.exceptions.NotFound() # Don't leak information about ids.
|
||||
|
||||
user_sudo = request.env.user
|
||||
logged_in = not user_sudo._is_public()
|
||||
# If the user is logged in, take their partner rather than the partner set in the params.
|
||||
# This is something that we want, since security rules are based on the partner, and created
|
||||
# tokens should not be assigned to the public user. This should have no impact on the
|
||||
# transaction itself besides making reconciliation possibly more difficult (e.g. The
|
||||
# transaction and invoice partners are different).
|
||||
partner_is_different = False
|
||||
if logged_in:
|
||||
partner_is_different = partner_id and partner_id != user_sudo.partner_id.id
|
||||
partner_sudo = user_sudo.partner_id
|
||||
else:
|
||||
partner_sudo = request.env['res.partner'].sudo().browse(partner_id).exists()
|
||||
if not partner_sudo:
|
||||
return request.redirect(
|
||||
# Escape special characters to avoid loosing original params when redirected
|
||||
f'/web/login?redirect={urllib.parse.quote(request.httprequest.full_path)}'
|
||||
)
|
||||
|
||||
# Instantiate transaction values to their default if not set in parameters
|
||||
reference = reference or payment_utils.singularize_reference_prefix(prefix='tx')
|
||||
amount = amount or 0.0 # If the amount is invalid, set it to 0 to stop the payment flow
|
||||
company_id = company_id or partner_sudo.company_id.id or user_sudo.company_id.id
|
||||
company = request.env['res.company'].sudo().browse(company_id)
|
||||
currency_id = currency_id or company.currency_id.id
|
||||
|
||||
# Make sure that the currency exists and is active
|
||||
currency = request.env['res.currency'].browse(currency_id).exists()
|
||||
if not currency or not currency.active:
|
||||
raise werkzeug.exceptions.NotFound() # The currency must exist and be active.
|
||||
|
||||
# Select all providers and tokens that match the constraints
|
||||
providers_sudo = request.env['payment.provider'].sudo()._get_compatible_providers(
|
||||
company_id, partner_sudo.id, amount, currency_id=currency.id, **kwargs
|
||||
) # In sudo mode to read the fields of providers and partner (if not logged in)
|
||||
if provider_id in providers_sudo.ids: # Only keep the desired provider if it's suitable
|
||||
providers_sudo = providers_sudo.browse(provider_id)
|
||||
payment_tokens = request.env['payment.token'].search(
|
||||
[('provider_id', 'in', providers_sudo.ids), ('partner_id', '=', partner_sudo.id)]
|
||||
) if logged_in else request.env['payment.token']
|
||||
|
||||
# Make sure that the partner's company matches the company passed as parameter.
|
||||
if not PaymentPortal._can_partner_pay_in_company(partner_sudo, company):
|
||||
providers_sudo = request.env['payment.provider'].sudo()
|
||||
payment_tokens = request.env['payment.token']
|
||||
|
||||
# Compute the fees taken by providers supporting the feature
|
||||
fees_by_provider = {
|
||||
provider_sudo: provider_sudo._compute_fees(amount, currency, partner_sudo.country_id)
|
||||
for provider_sudo in providers_sudo.filtered('fees_active')
|
||||
}
|
||||
|
||||
# Generate a new access token in case the partner id or the currency id was updated
|
||||
access_token = payment_utils.generate_access_token(partner_sudo.id, amount, currency.id)
|
||||
|
||||
rendering_context = {
|
||||
'providers': providers_sudo,
|
||||
'tokens': payment_tokens,
|
||||
'fees_by_provider': fees_by_provider,
|
||||
'show_tokenize_input': self._compute_show_tokenize_input_mapping(
|
||||
providers_sudo, logged_in=logged_in, **kwargs
|
||||
),
|
||||
'reference_prefix': reference,
|
||||
'amount': amount,
|
||||
'currency': currency,
|
||||
'partner_id': partner_sudo.id,
|
||||
'access_token': access_token,
|
||||
'transaction_route': '/payment/transaction',
|
||||
'landing_route': '/payment/confirmation',
|
||||
'res_company': company, # Display the correct logo in a multi-company environment
|
||||
'partner_is_different': partner_is_different,
|
||||
**self._get_custom_rendering_context_values(**kwargs),
|
||||
}
|
||||
return request.render(self._get_payment_page_template_xmlid(**kwargs), rendering_context)
|
||||
|
||||
@staticmethod
|
||||
def _compute_show_tokenize_input_mapping(providers_sudo, logged_in=False, **kwargs):
|
||||
""" Determine for each provider whether the tokenization input should be shown or not.
|
||||
|
||||
:param recordset providers_sudo: The providers for which to determine whether the
|
||||
tokenization input should be shown or not, as a sudoed
|
||||
`payment.provider` recordset.
|
||||
:param bool logged_in: Whether the user is logged in or not.
|
||||
:param dict kwargs: The optional data passed to the helper methods.
|
||||
:return: The mapping of the computed value for each provider id.
|
||||
:rtype: dict
|
||||
"""
|
||||
show_tokenize_input_mapping = {}
|
||||
for provider_sudo in providers_sudo:
|
||||
show_tokenize_input = provider_sudo.allow_tokenization \
|
||||
and not provider_sudo._is_tokenization_required(**kwargs) \
|
||||
and logged_in
|
||||
show_tokenize_input_mapping[provider_sudo.id] = show_tokenize_input
|
||||
return show_tokenize_input_mapping
|
||||
|
||||
def _get_payment_page_template_xmlid(self, **kwargs):
|
||||
return 'payment.pay'
|
||||
|
||||
@http.route('/my/payment_method', type='http', methods=['GET'], auth='user', website=True)
|
||||
def payment_method(self, **kwargs):
|
||||
""" Display the form to manage payment methods.
|
||||
|
||||
:param dict kwargs: Optional data. This parameter is not used here
|
||||
:return: The rendered manage form
|
||||
:rtype: str
|
||||
"""
|
||||
partner_sudo = request.env.user.partner_id # env.user is always sudoed
|
||||
providers_sudo = request.env['payment.provider'].sudo()._get_compatible_providers(
|
||||
request.env.company.id,
|
||||
partner_sudo.id,
|
||||
0., # There is no amount to pay with validation transactions.
|
||||
force_tokenization=True,
|
||||
is_validation=True,
|
||||
)
|
||||
|
||||
# Get all partner's tokens for which providers are not disabled.
|
||||
tokens_sudo = request.env['payment.token'].sudo().search([
|
||||
('partner_id', 'in', [partner_sudo.id, partner_sudo.commercial_partner_id.id]),
|
||||
('provider_id.state', 'in', ['enabled', 'test']),
|
||||
])
|
||||
|
||||
access_token = payment_utils.generate_access_token(partner_sudo.id, None, None)
|
||||
rendering_context = {
|
||||
'providers': providers_sudo,
|
||||
'tokens': tokens_sudo,
|
||||
'reference_prefix': payment_utils.singularize_reference_prefix(prefix='V'),
|
||||
'partner_id': partner_sudo.id,
|
||||
'access_token': access_token,
|
||||
'transaction_route': '/payment/transaction',
|
||||
'landing_route': '/my/payment_method',
|
||||
**self._get_custom_rendering_context_values(**kwargs),
|
||||
}
|
||||
return request.render('payment.payment_methods', rendering_context)
|
||||
|
||||
def _get_custom_rendering_context_values(self, **kwargs):
|
||||
""" Return a dict of additional rendering context values.
|
||||
|
||||
:param dict kwargs: Optional data. This parameter is not used here
|
||||
:return: The dict of additional rendering context values
|
||||
:rtype: dict
|
||||
"""
|
||||
return {}
|
||||
|
||||
@http.route('/payment/transaction', type='json', auth='public')
|
||||
def payment_transaction(self, amount, currency_id, partner_id, access_token, **kwargs):
|
||||
""" Create a draft transaction and return its processing values.
|
||||
|
||||
:param float|None amount: The amount to pay in the given currency.
|
||||
None if in a payment method validation operation
|
||||
:param int|None currency_id: The currency of the transaction, as a `res.currency` id.
|
||||
None if in a payment method validation operation
|
||||
:param int partner_id: The partner making the payment, as a `res.partner` id
|
||||
:param str access_token: The access token used to authenticate the partner
|
||||
:param dict kwargs: Locally unused data passed to `_create_transaction`
|
||||
:return: The mandatory values for the processing of the transaction
|
||||
:rtype: dict
|
||||
:raise: ValidationError if the access token is invalid
|
||||
"""
|
||||
# Check the access token against the transaction values
|
||||
amount = amount and float(amount) # Cast as float in case the JS stripped the '.0'
|
||||
if not payment_utils.check_access_token(access_token, partner_id, amount, currency_id):
|
||||
raise ValidationError(_("The access token is invalid."))
|
||||
|
||||
kwargs.pop('custom_create_values', None) # Don't allow passing arbitrary create values
|
||||
tx_sudo = self._create_transaction(
|
||||
amount=amount, currency_id=currency_id, partner_id=partner_id, **kwargs
|
||||
)
|
||||
self._update_landing_route(tx_sudo, access_token) # Add the required parameters to the route
|
||||
return tx_sudo._get_processing_values()
|
||||
|
||||
def _create_transaction(
|
||||
self, payment_option_id, reference_prefix, amount, currency_id, partner_id, flow,
|
||||
tokenization_requested, landing_route, is_validation=False,
|
||||
custom_create_values=None, **kwargs
|
||||
):
|
||||
""" Create a draft transaction based on the payment context and return it.
|
||||
|
||||
:param int payment_option_id: The payment option handling the transaction, as a
|
||||
`payment.provider` id or a `payment.token` id
|
||||
:param str reference_prefix: The custom prefix to compute the full reference
|
||||
:param float|None amount: The amount to pay in the given currency.
|
||||
None if in a payment method validation operation
|
||||
:param int|None currency_id: The currency of the transaction, as a `res.currency` id.
|
||||
None if in a payment method validation operation
|
||||
:param int partner_id: The partner making the payment, as a `res.partner` id
|
||||
:param str flow: The online payment flow of the transaction: 'redirect', 'direct' or 'token'
|
||||
:param bool tokenization_requested: Whether the user requested that a token is created
|
||||
:param str landing_route: The route the user is redirected to after the transaction
|
||||
:param bool is_validation: Whether the operation is a validation
|
||||
:param dict custom_create_values: Additional create values overwriting the default ones
|
||||
:param dict kwargs: Locally unused data passed to `_is_tokenization_required` and
|
||||
`_compute_reference`
|
||||
:return: The sudoed transaction that was created
|
||||
:rtype: recordset of `payment.transaction`
|
||||
:raise: UserError if the flow is invalid
|
||||
"""
|
||||
# Prepare create values
|
||||
if flow in ['redirect', 'direct']: # Direct payment or payment with redirection
|
||||
provider_sudo = request.env['payment.provider'].sudo().browse(payment_option_id)
|
||||
token_id = None
|
||||
tokenize = bool(
|
||||
# Don't tokenize if the user tried to force it through the browser's developer tools
|
||||
provider_sudo.allow_tokenization
|
||||
# Token is only created if required by the flow or requested by the user
|
||||
and (provider_sudo._is_tokenization_required(**kwargs) or tokenization_requested)
|
||||
)
|
||||
elif flow == 'token': # Payment by token
|
||||
token_sudo = request.env['payment.token'].sudo().browse(payment_option_id)
|
||||
|
||||
# Prevent from paying with a token that doesn't belong to the current partner (either
|
||||
# the current user's partner if logged in, or the partner on behalf of whom the payment
|
||||
# is being made).
|
||||
partner_sudo = request.env['res.partner'].sudo().browse(partner_id)
|
||||
if partner_sudo.commercial_partner_id != token_sudo.partner_id.commercial_partner_id:
|
||||
raise AccessError(_("You do not have access to this payment token."))
|
||||
|
||||
provider_sudo = token_sudo.provider_id
|
||||
token_id = payment_option_id
|
||||
tokenize = False
|
||||
else:
|
||||
raise UserError(
|
||||
_("The payment should either be direct, with redirection, or made by a token.")
|
||||
)
|
||||
|
||||
reference = request.env['payment.transaction']._compute_reference(
|
||||
provider_sudo.code,
|
||||
prefix=reference_prefix,
|
||||
**(custom_create_values or {}),
|
||||
**kwargs
|
||||
)
|
||||
if is_validation: # Providers determine the amount and currency in validation operations
|
||||
amount = provider_sudo._get_validation_amount()
|
||||
currency_id = provider_sudo._get_validation_currency().id
|
||||
|
||||
# Create the transaction
|
||||
tx_sudo = request.env['payment.transaction'].sudo().create({
|
||||
'provider_id': provider_sudo.id,
|
||||
'reference': reference,
|
||||
'amount': amount,
|
||||
'currency_id': currency_id,
|
||||
'partner_id': partner_id,
|
||||
'token_id': token_id,
|
||||
'operation': f'online_{flow}' if not is_validation else 'validation',
|
||||
'tokenize': tokenize,
|
||||
'landing_route': landing_route,
|
||||
**(custom_create_values or {}),
|
||||
}) # In sudo mode to allow writing on callback fields
|
||||
|
||||
if flow == 'token':
|
||||
tx_sudo._send_payment_request() # Payments by token process transactions immediately
|
||||
else:
|
||||
tx_sudo._log_sent_message()
|
||||
|
||||
# Monitor the transaction to make it available in the portal
|
||||
PaymentPostProcessing.monitor_transactions(tx_sudo)
|
||||
|
||||
return tx_sudo
|
||||
|
||||
@staticmethod
|
||||
def _update_landing_route(tx_sudo, access_token):
|
||||
""" Add the mandatory parameters to the route and recompute the access token if needed.
|
||||
|
||||
The generic landing route requires the tx id and access token to be provided since there is
|
||||
no document to rely on. The access token is recomputed in case we are dealing with a
|
||||
validation transaction (provider-specific amount and currency).
|
||||
|
||||
:param recordset tx_sudo: The transaction whose landing routes to update, as a
|
||||
`payment.transaction` record.
|
||||
:param str access_token: The access token used to authenticate the partner
|
||||
:return: None
|
||||
"""
|
||||
if tx_sudo.operation == 'validation':
|
||||
access_token = payment_utils.generate_access_token(
|
||||
tx_sudo.partner_id.id, tx_sudo.amount, tx_sudo.currency_id.id
|
||||
)
|
||||
tx_sudo.landing_route = f'{tx_sudo.landing_route}' \
|
||||
f'?tx_id={tx_sudo.id}&access_token={access_token}'
|
||||
|
||||
@http.route('/payment/confirmation', type='http', methods=['GET'], auth='public', website=True)
|
||||
def payment_confirm(self, tx_id, access_token, **kwargs):
|
||||
""" Display the payment confirmation page to the user.
|
||||
|
||||
:param str tx_id: The transaction to confirm, as a `payment.transaction` id
|
||||
:param str access_token: The access token used to verify the user
|
||||
:param dict kwargs: Optional data. This parameter is not used here
|
||||
:raise: werkzeug.exceptions.NotFound if the access token is invalid
|
||||
"""
|
||||
tx_id = self._cast_as_int(tx_id)
|
||||
if tx_id:
|
||||
tx_sudo = request.env['payment.transaction'].sudo().browse(tx_id)
|
||||
|
||||
# Raise an HTTP 404 if the access token is invalid
|
||||
if not payment_utils.check_access_token(
|
||||
access_token, tx_sudo.partner_id.id, tx_sudo.amount, tx_sudo.currency_id.id
|
||||
):
|
||||
raise werkzeug.exceptions.NotFound() # Don't leak information about ids.
|
||||
|
||||
# Stop monitoring the transaction now that it reached a final state.
|
||||
PaymentPostProcessing.remove_transactions(tx_sudo)
|
||||
|
||||
# Display the payment confirmation page to the user
|
||||
return request.render('payment.confirm', qcontext={'tx': tx_sudo})
|
||||
else:
|
||||
# Display the portal homepage to the user
|
||||
return request.redirect('/my/home')
|
||||
|
||||
@http.route('/payment/archive_token', type='json', auth='user')
|
||||
def archive_token(self, token_id):
|
||||
""" Check that a user has write access on a token and archive the token if so.
|
||||
|
||||
:param int token_id: The token to archive, as a `payment.token` id
|
||||
:return: None
|
||||
"""
|
||||
partner_sudo = request.env.user.partner_id
|
||||
token_sudo = request.env['payment.token'].sudo().search([
|
||||
('id', '=', token_id),
|
||||
# Check that the user owns the token before letting them archive anything
|
||||
('partner_id', 'in', [partner_sudo.id, partner_sudo.commercial_partner_id.id])
|
||||
])
|
||||
if token_sudo:
|
||||
token_sudo.active = False
|
||||
|
||||
@staticmethod
|
||||
def _cast_as_int(str_value):
|
||||
""" Cast a string as an `int` and return it.
|
||||
|
||||
If the conversion fails, `None` is returned instead.
|
||||
|
||||
:param str str_value: The value to cast as an `int`
|
||||
:return: The casted value, possibly replaced by None if incompatible
|
||||
:rtype: int|None
|
||||
"""
|
||||
try:
|
||||
return int(str_value)
|
||||
except (TypeError, ValueError, OverflowError):
|
||||
return None
|
||||
|
||||
@staticmethod
|
||||
def _cast_as_float(str_value):
|
||||
""" Cast a string as a `float` and return it.
|
||||
|
||||
If the conversion fails, `None` is returned instead.
|
||||
|
||||
:param str str_value: The value to cast as a `float`
|
||||
:return: The casted value, possibly replaced by None if incompatible
|
||||
:rtype: float|None
|
||||
"""
|
||||
try:
|
||||
return float(str_value)
|
||||
except (TypeError, ValueError, OverflowError):
|
||||
return None
|
||||
|
||||
@staticmethod
|
||||
def _can_partner_pay_in_company(partner, document_company):
|
||||
""" Return whether the provided partner can pay in the provided company.
|
||||
|
||||
The payment is allowed either if the partner's company is not set or if the companies match.
|
||||
|
||||
:param recordset partner: The partner on behalf on which the payment is made, as a
|
||||
`res.partner` record.
|
||||
:param recordset document_company: The company of the document being paid, as a
|
||||
`res.company` record.
|
||||
:return: Whether the payment is allowed.
|
||||
:rtype: str
|
||||
"""
|
||||
return not partner.company_id or partner.company_id == document_company
|
||||
|
|
@ -0,0 +1,139 @@
|
|||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
import logging
|
||||
from datetime import timedelta
|
||||
|
||||
import psycopg2
|
||||
|
||||
from odoo import fields, http
|
||||
from odoo.http import request
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class PaymentPostProcessing(http.Controller):
|
||||
|
||||
"""
|
||||
This controller is responsible for the monitoring and finalization of the post-processing of
|
||||
transactions.
|
||||
|
||||
It exposes the route `/payment/status`: All payment flows must go through this route at some
|
||||
point to allow the user checking on the transactions' status, and to trigger the finalization of
|
||||
their post-processing.
|
||||
"""
|
||||
|
||||
MONITORED_TX_IDS_KEY = '__payment_monitored_tx_ids__'
|
||||
|
||||
@http.route('/payment/status', type='http', auth='public', website=True, sitemap=False)
|
||||
def display_status(self, **kwargs):
|
||||
""" Display the payment status page.
|
||||
|
||||
:param dict kwargs: Optional data. This parameter is not used here
|
||||
:return: The rendered status page
|
||||
:rtype: str
|
||||
"""
|
||||
return request.render('payment.payment_status')
|
||||
|
||||
@http.route('/payment/status/poll', type='json', auth='public')
|
||||
def poll_status(self, **_kwargs):
|
||||
""" Fetch the transactions to display on the status page and finalize their post-processing.
|
||||
|
||||
:return: The post-processing values of the transactions
|
||||
:rtype: dict
|
||||
"""
|
||||
# Retrieve recent user's transactions from the session
|
||||
limit_date = fields.Datetime.now() - timedelta(days=1)
|
||||
monitored_txs = request.env['payment.transaction'].sudo().search([
|
||||
('id', 'in', self.get_monitored_transaction_ids()),
|
||||
('last_state_change', '>=', limit_date)
|
||||
])
|
||||
if not monitored_txs: # The transaction was not correctly created
|
||||
return {
|
||||
'success': False,
|
||||
'error': 'no_tx_found',
|
||||
}
|
||||
|
||||
# Build the list of display values with the display message and post-processing values
|
||||
display_values_list = []
|
||||
for tx in monitored_txs:
|
||||
display_message = None
|
||||
if tx.state == 'pending':
|
||||
display_message = tx.provider_id.pending_msg
|
||||
elif tx.state == 'done':
|
||||
display_message = tx.provider_id.done_msg
|
||||
elif tx.state == 'cancel':
|
||||
display_message = tx.provider_id.cancel_msg
|
||||
display_values_list.append({
|
||||
'display_message': display_message,
|
||||
**tx._get_post_processing_values(),
|
||||
})
|
||||
|
||||
# Stop monitoring already post-processed transactions
|
||||
post_processed_txs = monitored_txs.filtered('is_post_processed')
|
||||
self.remove_transactions(post_processed_txs)
|
||||
|
||||
# Finalize post-processing of transactions before displaying them to the user
|
||||
txs_to_post_process = (monitored_txs - post_processed_txs).filtered(
|
||||
lambda t: t.state == 'done'
|
||||
)
|
||||
success, error = True, None
|
||||
try:
|
||||
txs_to_post_process._finalize_post_processing()
|
||||
except psycopg2.OperationalError: # A collision of accounting sequences occurred
|
||||
request.env.cr.rollback() # Rollback and try later
|
||||
success = False
|
||||
error = 'tx_process_retry'
|
||||
except Exception as e:
|
||||
request.env.cr.rollback()
|
||||
success = False
|
||||
error = str(e)
|
||||
_logger.exception(
|
||||
"encountered an error while post-processing transactions with ids %s:\n%s",
|
||||
', '.join([str(tx_id) for tx_id in txs_to_post_process.ids]), e
|
||||
)
|
||||
|
||||
return {
|
||||
'success': success,
|
||||
'error': error,
|
||||
'display_values_list': display_values_list,
|
||||
}
|
||||
|
||||
@classmethod
|
||||
def monitor_transactions(cls, transactions):
|
||||
""" Add the ids of the provided transactions to the list of monitored transaction ids.
|
||||
|
||||
:param recordset transactions: The transactions to monitor, as a `payment.transaction`
|
||||
recordset
|
||||
:return: None
|
||||
"""
|
||||
if transactions:
|
||||
monitored_tx_ids = request.session.get(cls.MONITORED_TX_IDS_KEY, [])
|
||||
request.session[cls.MONITORED_TX_IDS_KEY] = list(
|
||||
set(monitored_tx_ids).union(transactions.ids)
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def get_monitored_transaction_ids(cls):
|
||||
""" Return the ids of transactions being monitored.
|
||||
|
||||
Only the ids and not the recordset itself is returned to allow the caller browsing the
|
||||
recordset with sudo privileges, and using the ids in a custom query.
|
||||
|
||||
:return: The ids of transactions being monitored
|
||||
:rtype: list
|
||||
"""
|
||||
return request.session.get(cls.MONITORED_TX_IDS_KEY, [])
|
||||
|
||||
@classmethod
|
||||
def remove_transactions(cls, transactions):
|
||||
""" Remove the ids of the provided transactions from the list of monitored transaction ids.
|
||||
|
||||
:param recordset transactions: The transactions to remove, as a `payment.transaction`
|
||||
recordset
|
||||
:return: None
|
||||
"""
|
||||
if transactions:
|
||||
monitored_tx_ids = request.session.get(cls.MONITORED_TX_IDS_KEY, [])
|
||||
request.session[cls.MONITORED_TX_IDS_KEY] = [
|
||||
tx_id for tx_id in monitored_tx_ids if tx_id not in transactions.ids
|
||||
]
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
-- disable generic payment provider
|
||||
UPDATE payment_provider
|
||||
SET state = 'disabled'
|
||||
WHERE state NOT IN ('test', 'disabled');
|
||||
15
odoo-bringout-oca-ocb-payment/payment/data/payment_cron.xml
Normal file
15
odoo-bringout-oca-ocb-payment/payment/data/payment_cron.xml
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record model="ir.cron" id="cron_post_process_payment_tx">
|
||||
<field name="name">payment: post-process transactions</field>
|
||||
<field name="model_id" ref="payment.model_payment_transaction" />
|
||||
<field name="state">code</field>
|
||||
<field name="code">model._cron_finalize_post_processing()</field>
|
||||
<field name="user_id" ref="base.user_root" />
|
||||
<field name="interval_number">10</field>
|
||||
<field name="interval_type">minutes</field>
|
||||
<field name="numbercall">-1</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<odoo>
|
||||
|
||||
<!-- Enable the EUR currency since it's the currency of the company. -->
|
||||
<function model="res.currency" name="action_unarchive" eval="[[ref('base.EUR')]]"/>
|
||||
|
||||
</odoo>
|
||||
184
odoo-bringout-oca-ocb-payment/payment/data/payment_icon_data.xml
Normal file
184
odoo-bringout-oca-ocb-payment/payment/data/payment_icon_data.xml
Normal file
|
|
@ -0,0 +1,184 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record id="payment_icon_cc_visa" model="payment.icon">
|
||||
<field name="sequence">10</field>
|
||||
<field name="name">VISA</field>
|
||||
<field name="image" type="base64" file="payment/static/img/visa.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_cc_mastercard" model="payment.icon">
|
||||
<field name="sequence">20</field>
|
||||
<field name="name">MasterCard</field>
|
||||
<field name="image" type="base64" file="payment/static/img/mastercard.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_cc_american_express" model="payment.icon">
|
||||
<field name="sequence">30</field>
|
||||
<field name="name">American Express</field>
|
||||
<field name="image" type="base64" file="payment/static/img/american_express.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_cc_discover" model="payment.icon">
|
||||
<field name="sequence">40</field>
|
||||
<field name="name">Discover</field>
|
||||
<field name="image" type="base64" file="payment/static/img/discover.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_cc_diners_club_intl" model="payment.icon">
|
||||
<field name="sequence">50</field>
|
||||
<field name="name">Diners Club International</field>
|
||||
<field name="image" type="base64" file="payment/static/img/diners_club_intl.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_paypal" model="payment.icon">
|
||||
<field name="sequence">60</field>
|
||||
<field name="name">Paypal</field>
|
||||
<field name="image" type="base64" file="payment/static/img/paypal.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_cc_rupay" model="payment.icon">
|
||||
<field name="sequence">65</field>
|
||||
<field name="name">Rupay</field>
|
||||
<field name="image" type="base64" file="payment/static/img/rupay.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_apple_pay" model="payment.icon">
|
||||
<field name="sequence">70</field>
|
||||
<field name="name">Apple Pay</field>
|
||||
<field name="image" type="base64" file="payment/static/img/applepay.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_cc_jcb" model="payment.icon">
|
||||
<field name="sequence">80</field>
|
||||
<field name="name">JCB</field>
|
||||
<field name="image" type="base64" file="payment/static/img/jcb.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_cc_maestro" model="payment.icon">
|
||||
<field name="sequence">90</field>
|
||||
<field name="name">Maestro</field>
|
||||
<field name="image" type="base64" file="payment/static/img/maestro.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_cc_cirrus" model="payment.icon">
|
||||
<field name="sequence">100</field>
|
||||
<field name="name">Cirrus</field>
|
||||
<field name="image" type="base64" file="payment/static/img/cirrus.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_cc_unionpay" model="payment.icon">
|
||||
<field name="sequence">110</field>
|
||||
<field name="name">UnionPay</field>
|
||||
<field name="image" type="base64" file="payment/static/img/unionpay.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_cc_bancontact" model="payment.icon">
|
||||
<field name="sequence">120</field>
|
||||
<field name="name">Bancontact</field>
|
||||
<field name="image" type="base64" file="payment/static/img/bancontact.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_cc_western_union" model="payment.icon">
|
||||
<field name="sequence">130</field>
|
||||
<field name="name">Western Union</field>
|
||||
<field name="image" type="base64" file="payment/static/img/western_union.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_sepa" model="payment.icon">
|
||||
<field name="sequence">140</field>
|
||||
<field name="name">SEPA Direct Debit</field>
|
||||
<field name="image" type="base64" file="payment/static/img/sepa.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_cc_ideal" model="payment.icon">
|
||||
<field name="sequence">150</field>
|
||||
<field name="name">iDEAL</field>
|
||||
<field name="image" type="base64" file="payment/static/img/ideal.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_cc_webmoney" model="payment.icon">
|
||||
<field name="sequence">160</field>
|
||||
<field name="name">WebMoney</field>
|
||||
<field name="image" type="base64" file="payment/static/img/webmoney.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_cc_giropay" model="payment.icon">
|
||||
<field name="sequence">170</field>
|
||||
<field name="name">Giropay</field>
|
||||
<field name="image" type="base64" file="payment/static/img/giropay.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_cc_eps" model="payment.icon">
|
||||
<field name="sequence">180</field>
|
||||
<field name="name">EPS</field>
|
||||
<field name="image" type="base64" file="payment/static/img/eps.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_cc_p24" model="payment.icon">
|
||||
<field name="sequence">190</field>
|
||||
<field name="name">P24</field>
|
||||
<field name="image" type="base64" file="payment/static/img/p24.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_cc_codensa_easy_credit" model="payment.icon">
|
||||
<field name="sequence">200</field>
|
||||
<field name="name">Codensa Easy Credit</field>
|
||||
<field name="image" type="base64" file="payment/static/img/codensa_easy_credit.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_kbc" model="payment.icon">
|
||||
<field name="sequence">210</field>
|
||||
<field name="name">KBC</field>
|
||||
<field name="image" type="base64" file="payment/static/img/kbc.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_mpesa" model="payment.icon">
|
||||
<field name="sequence">220</field>
|
||||
<field name="name">M-Pesa</field>
|
||||
<field name="image" type="base64" file="payment/static/img/m-pesa.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_airtel_money" model="payment.icon">
|
||||
<field name="sequence">230</field>
|
||||
<field name="name">Airtel Money</field>
|
||||
<field name="image" type="base64" file="payment/static/img/airtel-money.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_mtn_mobile_money" model="payment.icon">
|
||||
<field name="sequence">240</field>
|
||||
<field name="name">MTN Mobile Money</field>
|
||||
<field name="image" type="base64" file="payment/static/img/mtn-mobile-money.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_barter_by_flutterwave" model="payment.icon">
|
||||
<field name="sequence">250</field>
|
||||
<field name="name">Barter by Flutterwave</field>
|
||||
<field name="image" type="base64" file="payment/static/img/barter-by-flutterwave.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_sadad" model="payment.icon">
|
||||
<field name="sequence">260</field>
|
||||
<field name="name">Sadad</field>
|
||||
<field name="image" type="base64" file="payment/static/img/sadad.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_mada" model="payment.icon">
|
||||
<field name="sequence">270</field>
|
||||
<field name="name">Mada</field>
|
||||
<field name="image" type="base64" file="payment/static/img/mada.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_bbva_bancomer" model="payment.icon">
|
||||
<field name="sequence">280</field>
|
||||
<field name="name">BBVA Bancomer</field>
|
||||
<field name="image" type="base64" file="payment/static/img/bbva-bancomer.png"/>
|
||||
</record>
|
||||
|
||||
<record id="payment_icon_citibanamex" model="payment.icon">
|
||||
<field name="sequence">280</field>
|
||||
<field name="name">CitiBanamex</field>
|
||||
<field name="image" type="base64" file="payment/static/img/citibanamex.png"/>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo noupdate="1">
|
||||
|
||||
<!-- Simplified payment provider data - removed external payment modules dependencies -->
|
||||
|
||||
</odoo>
|
||||
2235
odoo-bringout-oca-ocb-payment/payment/i18n/af.po
Normal file
2235
odoo-bringout-oca-ocb-payment/payment/i18n/af.po
Normal file
File diff suppressed because it is too large
Load diff
2231
odoo-bringout-oca-ocb-payment/payment/i18n/am.po
Normal file
2231
odoo-bringout-oca-ocb-payment/payment/i18n/am.po
Normal file
File diff suppressed because it is too large
Load diff
2268
odoo-bringout-oca-ocb-payment/payment/i18n/ar.po
Normal file
2268
odoo-bringout-oca-ocb-payment/payment/i18n/ar.po
Normal file
File diff suppressed because it is too large
Load diff
2222
odoo-bringout-oca-ocb-payment/payment/i18n/az.po
Normal file
2222
odoo-bringout-oca-ocb-payment/payment/i18n/az.po
Normal file
File diff suppressed because it is too large
Load diff
2216
odoo-bringout-oca-ocb-payment/payment/i18n/be.po
Normal file
2216
odoo-bringout-oca-ocb-payment/payment/i18n/be.po
Normal file
File diff suppressed because it is too large
Load diff
2239
odoo-bringout-oca-ocb-payment/payment/i18n/bg.po
Normal file
2239
odoo-bringout-oca-ocb-payment/payment/i18n/bg.po
Normal file
File diff suppressed because it is too large
Load diff
2212
odoo-bringout-oca-ocb-payment/payment/i18n/bs.po
Normal file
2212
odoo-bringout-oca-ocb-payment/payment/i18n/bs.po
Normal file
File diff suppressed because it is too large
Load diff
2319
odoo-bringout-oca-ocb-payment/payment/i18n/ca.po
Normal file
2319
odoo-bringout-oca-ocb-payment/payment/i18n/ca.po
Normal file
File diff suppressed because it is too large
Load diff
2294
odoo-bringout-oca-ocb-payment/payment/i18n/cs.po
Normal file
2294
odoo-bringout-oca-ocb-payment/payment/i18n/cs.po
Normal file
File diff suppressed because it is too large
Load diff
2230
odoo-bringout-oca-ocb-payment/payment/i18n/da.po
Normal file
2230
odoo-bringout-oca-ocb-payment/payment/i18n/da.po
Normal file
File diff suppressed because it is too large
Load diff
2318
odoo-bringout-oca-ocb-payment/payment/i18n/de.po
Normal file
2318
odoo-bringout-oca-ocb-payment/payment/i18n/de.po
Normal file
File diff suppressed because it is too large
Load diff
2150
odoo-bringout-oca-ocb-payment/payment/i18n/el.po
Normal file
2150
odoo-bringout-oca-ocb-payment/payment/i18n/el.po
Normal file
File diff suppressed because it is too large
Load diff
1410
odoo-bringout-oca-ocb-payment/payment/i18n/en_GB.po
Normal file
1410
odoo-bringout-oca-ocb-payment/payment/i18n/en_GB.po
Normal file
File diff suppressed because it is too large
Load diff
2302
odoo-bringout-oca-ocb-payment/payment/i18n/es.po
Normal file
2302
odoo-bringout-oca-ocb-payment/payment/i18n/es.po
Normal file
File diff suppressed because it is too large
Load diff
1410
odoo-bringout-oca-ocb-payment/payment/i18n/es_BO.po
Normal file
1410
odoo-bringout-oca-ocb-payment/payment/i18n/es_BO.po
Normal file
File diff suppressed because it is too large
Load diff
1410
odoo-bringout-oca-ocb-payment/payment/i18n/es_CL.po
Normal file
1410
odoo-bringout-oca-ocb-payment/payment/i18n/es_CL.po
Normal file
File diff suppressed because it is too large
Load diff
1410
odoo-bringout-oca-ocb-payment/payment/i18n/es_CO.po
Normal file
1410
odoo-bringout-oca-ocb-payment/payment/i18n/es_CO.po
Normal file
File diff suppressed because it is too large
Load diff
1410
odoo-bringout-oca-ocb-payment/payment/i18n/es_CR.po
Normal file
1410
odoo-bringout-oca-ocb-payment/payment/i18n/es_CR.po
Normal file
File diff suppressed because it is too large
Load diff
1410
odoo-bringout-oca-ocb-payment/payment/i18n/es_DO.po
Normal file
1410
odoo-bringout-oca-ocb-payment/payment/i18n/es_DO.po
Normal file
File diff suppressed because it is too large
Load diff
1410
odoo-bringout-oca-ocb-payment/payment/i18n/es_EC.po
Normal file
1410
odoo-bringout-oca-ocb-payment/payment/i18n/es_EC.po
Normal file
File diff suppressed because it is too large
Load diff
2300
odoo-bringout-oca-ocb-payment/payment/i18n/es_MX.po
Normal file
2300
odoo-bringout-oca-ocb-payment/payment/i18n/es_MX.po
Normal file
File diff suppressed because it is too large
Load diff
758
odoo-bringout-oca-ocb-payment/payment/i18n/es_PA.po
Normal file
758
odoo-bringout-oca-ocb-payment/payment/i18n/es_PA.po
Normal file
|
|
@ -0,0 +1,758 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * payment
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-08 06:27+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: Spanish (Panama) (http://www.transifex.com/odoo/odoo-9/"
|
||||
"language/es_PA/)\n"
|
||||
"Language: es_PA\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_transaction_callback_eval
|
||||
msgid ""
|
||||
" Will be safe_eval with `self` being the current transaction. i."
|
||||
"e.:\n"
|
||||
" self.env['my.model'].payment_validated(self)"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_adyen
|
||||
msgid "-This installs the module payment_adyen."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_authorize
|
||||
msgid "-This installs the module payment_authorize."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_buckaroo
|
||||
msgid "-This installs the module payment_buckaroo."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_ogone
|
||||
msgid "-This installs the module payment_ogone."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_paypal
|
||||
msgid "-This installs the module payment_paypal."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_sips
|
||||
msgid "-This installs the module payment_sips."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_transfer
|
||||
msgid "-This installs the module payment_transfer."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_html_3ds
|
||||
msgid "3D Secure HTML"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid ""
|
||||
"<span class=\"text-danger\">Test</span>\n"
|
||||
" <span class=\"o_stat_text\">Environment</"
|
||||
"span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid ""
|
||||
"<span class=\"text-success\">Production</span>\n"
|
||||
" <span class=\"o_stat_text\">Environment</"
|
||||
"span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_acquirer_id
|
||||
msgid "Acquirer"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_acquirer_id
|
||||
msgid "Acquirer Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_acquirer_ref
|
||||
msgid "Acquirer Ref."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_acquirer_reference
|
||||
msgid "Acquirer Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_active
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_fees_active
|
||||
msgid "Add Extra Fees"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_address
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "Address"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_adyen
|
||||
msgid "Adyen"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_amount
|
||||
#: model:ir.model.fields,help:payment.field_payment_transaction_amount
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.acquirer,auto_confirm:0
|
||||
msgid "At payment no acquirer confirmation needed"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.acquirer,auto_confirm:0
|
||||
msgid "At payment with acquirer confirmation"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_authorize
|
||||
msgid "Authorize.Net"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_buckaroo
|
||||
msgid "Buckaroo"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_cancel_msg
|
||||
msgid "Cancel Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,state:0
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_city
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "City"
|
||||
msgstr "Ciudad"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_company_id
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "Configuration"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.payment_acquirer_installation
|
||||
msgid "Configure payment acquiring methods"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_res_partner_payment_method_count
|
||||
msgid "Count Payment Method"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_country_id
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "Country"
|
||||
msgstr "País"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_create_uid
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_create_uid
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Creado por"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_create_date
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_create_date
|
||||
msgid "Created on"
|
||||
msgstr "Creado en"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_create_date
|
||||
msgid "Creation Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "Credentials"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.view_partners_form_payment_defaultcreditcard
|
||||
msgid "Credit card(s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_currency_id
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "Customer Details"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_sequence
|
||||
msgid "Determine the display order"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_display_name
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_display_name
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,state:0
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_done_msg
|
||||
msgid "Done Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,state:0
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "E-mail"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_email
|
||||
msgid "Email"
|
||||
msgstr "Correo electrónico"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_environment
|
||||
msgid "Environment"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,state:0
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_error_msg
|
||||
msgid "Error Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_fees
|
||||
msgid "Fees"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_transaction_fees
|
||||
msgid "Fees amount; set by the system because depends on the acquirer"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_transaction_state_message
|
||||
msgid "Field used to store error and/or validation messages for information"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_fees_dom_fixed
|
||||
msgid "Fixed domestic fees"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_fees_int_fixed
|
||||
msgid "Fixed international fees"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,type:0
|
||||
msgid "Form"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_view_template_id
|
||||
msgid "Form Button Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,type:0
|
||||
msgid "Form with credentials storage"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_search
|
||||
msgid "Group By"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_pre_msg
|
||||
msgid "Help Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_id
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_id
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_image
|
||||
msgid "Image"
|
||||
msgstr "Imagen"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_transaction_reference
|
||||
msgid "Internal reference of the TX"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_lang
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer___last_update
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method___last_update
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction___last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_write_uid
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_write_uid
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Última actualización de"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_write_date
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_write_date
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Última actualización en"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_website_published
|
||||
msgid "Make this payment acquirer available (Customer invoices, etc.)"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_image_medium
|
||||
msgid "Medium-sized image"
|
||||
msgstr "Imagen mediana"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_image_medium
|
||||
msgid ""
|
||||
"Medium-sized image of this provider. It is automatically resized as a "
|
||||
"128x128px image, with aspect ratio preserved. Use this field in form views "
|
||||
"or some kanban views."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_state_message
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_post_msg
|
||||
msgid "Message displayed after having done the payment process."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_pre_msg
|
||||
msgid "Message displayed to explain and help the payment process."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_error_msg
|
||||
msgid "Message displayed, if error is occur during the payment process."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_cancel_msg
|
||||
msgid "Message displayed, if order is cancel during the payment process."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_done_msg
|
||||
msgid ""
|
||||
"Message displayed, if order is done successfully after having done the "
|
||||
"payment process."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_pending_msg
|
||||
msgid ""
|
||||
"Message displayed, if order is in pending state after having done the "
|
||||
"payment process."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_name
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_name
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_method_name
|
||||
msgid "Name of the payment method"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.acquirer,auto_confirm:0
|
||||
msgid "No automatic confirmation"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_ogone
|
||||
msgid "Ogone"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_auto_confirm
|
||||
msgid "Order Confirmation"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model,name:payment.model_res_partner
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_partner_id
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_id
|
||||
msgid "Partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_name
|
||||
msgid "Partner Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model,name:payment.model_payment_acquirer
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "Payment Acquirer"
|
||||
msgstr "Método de pago"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.actions.act_window,name:payment.action_payment_acquirer
|
||||
#: model:ir.ui.menu,name:payment.payment_acquirer_menu
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_list
|
||||
msgid "Payment Acquirers"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_payment_method_id
|
||||
msgid "Payment Method"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_res_partner_payment_method_ids
|
||||
#: model_terms:ir.ui.view,arch_db:payment.payment_method_form_view
|
||||
#: model_terms:ir.ui.view,arch_db:payment.payment_method_tree_view
|
||||
#: model_terms:ir.ui.view,arch_db:payment.payment_method_view_search
|
||||
msgid "Payment Methods"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model,name:payment.model_payment_transaction
|
||||
msgid "Payment Transaction"
|
||||
msgstr "Transacción de pago"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.actions.act_window,name:payment.action_payment_transaction
|
||||
#: model:ir.actions.act_window,name:payment.action_payment_tx_ids
|
||||
#: model:ir.actions.act_window,name:payment.payment_transaction_action_child
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_payment_ids
|
||||
#: model:ir.ui.menu,name:payment.payment_transaction_menu
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_list
|
||||
msgid "Payment Transactions"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.ui.menu,name:payment.root_payment_menu
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
#: model_terms:ir.ui.view,arch_db:payment.payment_method_form_view
|
||||
msgid "Payments"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_paypal
|
||||
msgid "Paypal"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,state:0
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_pending_msg
|
||||
msgid "Pending Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_phone
|
||||
msgid "Phone"
|
||||
msgstr "Teléfono"
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.acquirer,environment:0
|
||||
msgid "Production"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_provider
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_search
|
||||
msgid "Provider"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_reference
|
||||
msgid "Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_transaction_acquirer_reference
|
||||
msgid "Reference of the TX as stored in the acquirer database"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: constraint:payment.acquirer:0
|
||||
msgid "Required fields not filled"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_callback_eval
|
||||
msgid "S2S Callback"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_registration_view_template_id
|
||||
msgid "S2S Form Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.actions.act_window,name:payment.payment_method_action
|
||||
#: model:ir.ui.menu,name:payment.payment_method_menu
|
||||
msgid "Saved Payment Data"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_sequence
|
||||
msgid "Sequence"
|
||||
msgstr "Secuencia"
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,type:0
|
||||
msgid "Server To Server"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_sips
|
||||
msgid "Sips"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_image_small
|
||||
msgid "Small-sized image"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_image_small
|
||||
msgid ""
|
||||
"Small-sized image of this provider. It is automatically resized as a 64x64px "
|
||||
"image, with aspect ratio preserved. Use this field anywhere a small image is "
|
||||
"required."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_state
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_registration_view_template_id
|
||||
msgid "Template for method registration"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.acquirer,environment:0
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_post_msg
|
||||
msgid "Thanks Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: constraint:payment.transaction:0
|
||||
msgid "The payment transaction reference must be unique!"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_image
|
||||
msgid ""
|
||||
"This field holds the image used for this provider, limited to 1024x1024px"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid ""
|
||||
"This template renders the acquirer button with all necessary values.\n"
|
||||
" It is be rendered with qWeb with "
|
||||
"the following evaluation context:"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_type
|
||||
msgid "Type"
|
||||
msgstr "Tipo"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_date_validate
|
||||
msgid "Validation Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_fees_dom_var
|
||||
msgid "Variable domestic fees (in percents)"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_fees_int_var
|
||||
msgid "Variable international fees (in percents)"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_website_published
|
||||
msgid "Visible in Portal / Website"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_transfer
|
||||
msgid "Wire Transfer"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "ZIP"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_zip
|
||||
msgid "Zip"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model,name:payment.model_account_config_settings
|
||||
msgid "account.config.settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "acquirer: payment.acquirer browse record"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "amount: the transaction amount, a float"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "context: the current context dictionary"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "currency: the transaction currency browse record"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "partner: the buyer partner browse record, not necessarily set"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid ""
|
||||
"partner_values: specific values about the buyer, for example coming from a "
|
||||
"shipping form"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model,name:payment.model_payment_method
|
||||
msgid "payment.method"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "reference: the transaction reference number"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "tx_url: transaction URL to post the form"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "tx_values: transaction values"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "user: current user browse record"
|
||||
msgstr ""
|
||||
1410
odoo-bringout-oca-ocb-payment/payment/i18n/es_PE.po
Normal file
1410
odoo-bringout-oca-ocb-payment/payment/i18n/es_PE.po
Normal file
File diff suppressed because it is too large
Load diff
1410
odoo-bringout-oca-ocb-payment/payment/i18n/es_PY.po
Normal file
1410
odoo-bringout-oca-ocb-payment/payment/i18n/es_PY.po
Normal file
File diff suppressed because it is too large
Load diff
1410
odoo-bringout-oca-ocb-payment/payment/i18n/es_VE.po
Normal file
1410
odoo-bringout-oca-ocb-payment/payment/i18n/es_VE.po
Normal file
File diff suppressed because it is too large
Load diff
2266
odoo-bringout-oca-ocb-payment/payment/i18n/et.po
Normal file
2266
odoo-bringout-oca-ocb-payment/payment/i18n/et.po
Normal file
File diff suppressed because it is too large
Load diff
1410
odoo-bringout-oca-ocb-payment/payment/i18n/eu.po
Normal file
1410
odoo-bringout-oca-ocb-payment/payment/i18n/eu.po
Normal file
File diff suppressed because it is too large
Load diff
2288
odoo-bringout-oca-ocb-payment/payment/i18n/fa.po
Normal file
2288
odoo-bringout-oca-ocb-payment/payment/i18n/fa.po
Normal file
File diff suppressed because it is too large
Load diff
2305
odoo-bringout-oca-ocb-payment/payment/i18n/fi.po
Normal file
2305
odoo-bringout-oca-ocb-payment/payment/i18n/fi.po
Normal file
File diff suppressed because it is too large
Load diff
1410
odoo-bringout-oca-ocb-payment/payment/i18n/fo.po
Normal file
1410
odoo-bringout-oca-ocb-payment/payment/i18n/fo.po
Normal file
File diff suppressed because it is too large
Load diff
2317
odoo-bringout-oca-ocb-payment/payment/i18n/fr.po
Normal file
2317
odoo-bringout-oca-ocb-payment/payment/i18n/fr.po
Normal file
File diff suppressed because it is too large
Load diff
758
odoo-bringout-oca-ocb-payment/payment/i18n/fr_BE.po
Normal file
758
odoo-bringout-oca-ocb-payment/payment/i18n/fr_BE.po
Normal file
|
|
@ -0,0 +1,758 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * payment
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-11-18 13:41+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: French (Belgium) (http://www.transifex.com/odoo/odoo-9/"
|
||||
"language/fr_BE/)\n"
|
||||
"Language: fr_BE\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_transaction_callback_eval
|
||||
msgid ""
|
||||
" Will be safe_eval with `self` being the current transaction. i."
|
||||
"e.:\n"
|
||||
" self.env['my.model'].payment_validated(self)"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_adyen
|
||||
msgid "-This installs the module payment_adyen."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_authorize
|
||||
msgid "-This installs the module payment_authorize."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_buckaroo
|
||||
msgid "-This installs the module payment_buckaroo."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_ogone
|
||||
msgid "-This installs the module payment_ogone."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_paypal
|
||||
msgid "-This installs the module payment_paypal."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_sips
|
||||
msgid "-This installs the module payment_sips."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_transfer
|
||||
msgid "-This installs the module payment_transfer."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_html_3ds
|
||||
msgid "3D Secure HTML"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid ""
|
||||
"<span class=\"text-danger\">Test</span>\n"
|
||||
" <span class=\"o_stat_text\">Environment</"
|
||||
"span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid ""
|
||||
"<span class=\"text-success\">Production</span>\n"
|
||||
" <span class=\"o_stat_text\">Environment</"
|
||||
"span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_acquirer_id
|
||||
msgid "Acquirer"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_acquirer_id
|
||||
msgid "Acquirer Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_acquirer_ref
|
||||
msgid "Acquirer Ref."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_acquirer_reference
|
||||
msgid "Acquirer Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_active
|
||||
msgid "Active"
|
||||
msgstr "Actif"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_fees_active
|
||||
msgid "Add Extra Fees"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_address
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "Address"
|
||||
msgstr "Adresse"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_adyen
|
||||
msgid "Adyen"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_amount
|
||||
#: model:ir.model.fields,help:payment.field_payment_transaction_amount
|
||||
msgid "Amount"
|
||||
msgstr "Montant"
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.acquirer,auto_confirm:0
|
||||
msgid "At payment no acquirer confirmation needed"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.acquirer,auto_confirm:0
|
||||
msgid "At payment with acquirer confirmation"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_authorize
|
||||
msgid "Authorize.Net"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_buckaroo
|
||||
msgid "Buckaroo"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_cancel_msg
|
||||
msgid "Cancel Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,state:0
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_city
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "City"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_company_id
|
||||
msgid "Company"
|
||||
msgstr "Société"
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "Configuration"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.payment_acquirer_installation
|
||||
msgid "Configure payment acquiring methods"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_res_partner_payment_method_count
|
||||
msgid "Count Payment Method"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_country_id
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "Country"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_create_uid
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_create_uid
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Créé par"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_create_date
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_create_date
|
||||
msgid "Created on"
|
||||
msgstr "Créé le"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_create_date
|
||||
msgid "Creation Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "Credentials"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.view_partners_form_payment_defaultcreditcard
|
||||
msgid "Credit card(s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_currency_id
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "Customer Details"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_sequence
|
||||
msgid "Determine the display order"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_display_name
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_display_name
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,state:0
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_done_msg
|
||||
msgid "Done Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,state:0
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "E-mail"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_email
|
||||
msgid "Email"
|
||||
msgstr "Email"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_environment
|
||||
msgid "Environment"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,state:0
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_error_msg
|
||||
msgid "Error Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_fees
|
||||
msgid "Fees"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_transaction_fees
|
||||
msgid "Fees amount; set by the system because depends on the acquirer"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_transaction_state_message
|
||||
msgid "Field used to store error and/or validation messages for information"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_fees_dom_fixed
|
||||
msgid "Fixed domestic fees"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_fees_int_fixed
|
||||
msgid "Fixed international fees"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,type:0
|
||||
msgid "Form"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_view_template_id
|
||||
msgid "Form Button Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,type:0
|
||||
msgid "Form with credentials storage"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_search
|
||||
msgid "Group By"
|
||||
msgstr "Grouper par"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_pre_msg
|
||||
msgid "Help Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_id
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_id
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_image
|
||||
msgid "Image"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_transaction_reference
|
||||
msgid "Internal reference of the TX"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_lang
|
||||
msgid "Language"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer___last_update
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method___last_update
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction___last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "Dernière modification le"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_write_uid
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_write_uid
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Derniere fois mis à jour par"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_write_date
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_write_date
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Dernière mis à jour le"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_website_published
|
||||
msgid "Make this payment acquirer available (Customer invoices, etc.)"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_image_medium
|
||||
msgid "Medium-sized image"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_image_medium
|
||||
msgid ""
|
||||
"Medium-sized image of this provider. It is automatically resized as a "
|
||||
"128x128px image, with aspect ratio preserved. Use this field in form views "
|
||||
"or some kanban views."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_state_message
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "Message"
|
||||
msgstr "Message"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_post_msg
|
||||
msgid "Message displayed after having done the payment process."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_pre_msg
|
||||
msgid "Message displayed to explain and help the payment process."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_error_msg
|
||||
msgid "Message displayed, if error is occur during the payment process."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_cancel_msg
|
||||
msgid "Message displayed, if order is cancel during the payment process."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_done_msg
|
||||
msgid ""
|
||||
"Message displayed, if order is done successfully after having done the "
|
||||
"payment process."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_pending_msg
|
||||
msgid ""
|
||||
"Message displayed, if order is in pending state after having done the "
|
||||
"payment process."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "Messages"
|
||||
msgstr "Messages"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_name
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_name
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_method_name
|
||||
msgid "Name of the payment method"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.acquirer,auto_confirm:0
|
||||
msgid "No automatic confirmation"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_ogone
|
||||
msgid "Ogone"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_auto_confirm
|
||||
msgid "Order Confirmation"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model,name:payment.model_res_partner
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_partner_id
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_id
|
||||
msgid "Partner"
|
||||
msgstr "Partenaire"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_name
|
||||
msgid "Partner Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model,name:payment.model_payment_acquirer
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "Payment Acquirer"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.actions.act_window,name:payment.action_payment_acquirer
|
||||
#: model:ir.ui.menu,name:payment.payment_acquirer_menu
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_list
|
||||
msgid "Payment Acquirers"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_payment_method_id
|
||||
msgid "Payment Method"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_res_partner_payment_method_ids
|
||||
#: model_terms:ir.ui.view,arch_db:payment.payment_method_form_view
|
||||
#: model_terms:ir.ui.view,arch_db:payment.payment_method_tree_view
|
||||
#: model_terms:ir.ui.view,arch_db:payment.payment_method_view_search
|
||||
msgid "Payment Methods"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model,name:payment.model_payment_transaction
|
||||
msgid "Payment Transaction"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.actions.act_window,name:payment.action_payment_transaction
|
||||
#: model:ir.actions.act_window,name:payment.action_payment_tx_ids
|
||||
#: model:ir.actions.act_window,name:payment.payment_transaction_action_child
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_payment_ids
|
||||
#: model:ir.ui.menu,name:payment.payment_transaction_menu
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_list
|
||||
msgid "Payment Transactions"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.ui.menu,name:payment.root_payment_menu
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
#: model_terms:ir.ui.view,arch_db:payment.payment_method_form_view
|
||||
msgid "Payments"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_paypal
|
||||
msgid "Paypal"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,state:0
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_pending_msg
|
||||
msgid "Pending Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_phone
|
||||
msgid "Phone"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.acquirer,environment:0
|
||||
msgid "Production"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_provider
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_search
|
||||
msgid "Provider"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_reference
|
||||
msgid "Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_transaction_acquirer_reference
|
||||
msgid "Reference of the TX as stored in the acquirer database"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: constraint:payment.acquirer:0
|
||||
msgid "Required fields not filled"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_callback_eval
|
||||
msgid "S2S Callback"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_registration_view_template_id
|
||||
msgid "S2S Form Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.actions.act_window,name:payment.payment_method_action
|
||||
#: model:ir.ui.menu,name:payment.payment_method_menu
|
||||
msgid "Saved Payment Data"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_sequence
|
||||
msgid "Sequence"
|
||||
msgstr "Séquence"
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,type:0
|
||||
msgid "Server To Server"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_sips
|
||||
msgid "Sips"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_image_small
|
||||
msgid "Small-sized image"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_image_small
|
||||
msgid ""
|
||||
"Small-sized image of this provider. It is automatically resized as a 64x64px "
|
||||
"image, with aspect ratio preserved. Use this field anywhere a small image is "
|
||||
"required."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_state
|
||||
msgid "Status"
|
||||
msgstr "Statut"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_registration_view_template_id
|
||||
msgid "Template for method registration"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.acquirer,environment:0
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_post_msg
|
||||
msgid "Thanks Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: constraint:payment.transaction:0
|
||||
msgid "The payment transaction reference must be unique!"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_image
|
||||
msgid ""
|
||||
"This field holds the image used for this provider, limited to 1024x1024px"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid ""
|
||||
"This template renders the acquirer button with all necessary values.\n"
|
||||
" It is be rendered with qWeb with "
|
||||
"the following evaluation context:"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_type
|
||||
msgid "Type"
|
||||
msgstr "Type"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_date_validate
|
||||
msgid "Validation Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_fees_dom_var
|
||||
msgid "Variable domestic fees (in percents)"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_fees_int_var
|
||||
msgid "Variable international fees (in percents)"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_website_published
|
||||
msgid "Visible in Portal / Website"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_transfer
|
||||
msgid "Wire Transfer"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "ZIP"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_zip
|
||||
msgid "Zip"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model,name:payment.model_account_config_settings
|
||||
msgid "account.config.settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "acquirer: payment.acquirer browse record"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "amount: the transaction amount, a float"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "context: the current context dictionary"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "currency: the transaction currency browse record"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "partner: the buyer partner browse record, not necessarily set"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid ""
|
||||
"partner_values: specific values about the buyer, for example coming from a "
|
||||
"shipping form"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model,name:payment.model_payment_method
|
||||
msgid "payment.method"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "reference: the transaction reference number"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "tx_url: transaction URL to post the form"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "tx_values: transaction values"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "user: current user browse record"
|
||||
msgstr ""
|
||||
1410
odoo-bringout-oca-ocb-payment/payment/i18n/fr_CA.po
Normal file
1410
odoo-bringout-oca-ocb-payment/payment/i18n/fr_CA.po
Normal file
File diff suppressed because it is too large
Load diff
1410
odoo-bringout-oca-ocb-payment/payment/i18n/gl.po
Normal file
1410
odoo-bringout-oca-ocb-payment/payment/i18n/gl.po
Normal file
File diff suppressed because it is too large
Load diff
2235
odoo-bringout-oca-ocb-payment/payment/i18n/gu.po
Normal file
2235
odoo-bringout-oca-ocb-payment/payment/i18n/gu.po
Normal file
File diff suppressed because it is too large
Load diff
2246
odoo-bringout-oca-ocb-payment/payment/i18n/he.po
Normal file
2246
odoo-bringout-oca-ocb-payment/payment/i18n/he.po
Normal file
File diff suppressed because it is too large
Load diff
2220
odoo-bringout-oca-ocb-payment/payment/i18n/hi.po
Normal file
2220
odoo-bringout-oca-ocb-payment/payment/i18n/hi.po
Normal file
File diff suppressed because it is too large
Load diff
2236
odoo-bringout-oca-ocb-payment/payment/i18n/hr.po
Normal file
2236
odoo-bringout-oca-ocb-payment/payment/i18n/hr.po
Normal file
File diff suppressed because it is too large
Load diff
2237
odoo-bringout-oca-ocb-payment/payment/i18n/hu.po
Normal file
2237
odoo-bringout-oca-ocb-payment/payment/i18n/hu.po
Normal file
File diff suppressed because it is too large
Load diff
2231
odoo-bringout-oca-ocb-payment/payment/i18n/hy.po
Normal file
2231
odoo-bringout-oca-ocb-payment/payment/i18n/hy.po
Normal file
File diff suppressed because it is too large
Load diff
2289
odoo-bringout-oca-ocb-payment/payment/i18n/id.po
Normal file
2289
odoo-bringout-oca-ocb-payment/payment/i18n/id.po
Normal file
File diff suppressed because it is too large
Load diff
2243
odoo-bringout-oca-ocb-payment/payment/i18n/is.po
Normal file
2243
odoo-bringout-oca-ocb-payment/payment/i18n/is.po
Normal file
File diff suppressed because it is too large
Load diff
2309
odoo-bringout-oca-ocb-payment/payment/i18n/it.po
Normal file
2309
odoo-bringout-oca-ocb-payment/payment/i18n/it.po
Normal file
File diff suppressed because it is too large
Load diff
2241
odoo-bringout-oca-ocb-payment/payment/i18n/ja.po
Normal file
2241
odoo-bringout-oca-ocb-payment/payment/i18n/ja.po
Normal file
File diff suppressed because it is too large
Load diff
1410
odoo-bringout-oca-ocb-payment/payment/i18n/ka.po
Normal file
1410
odoo-bringout-oca-ocb-payment/payment/i18n/ka.po
Normal file
File diff suppressed because it is too large
Load diff
1410
odoo-bringout-oca-ocb-payment/payment/i18n/kab.po
Normal file
1410
odoo-bringout-oca-ocb-payment/payment/i18n/kab.po
Normal file
File diff suppressed because it is too large
Load diff
760
odoo-bringout-oca-ocb-payment/payment/i18n/kk.po
Normal file
760
odoo-bringout-oca-ocb-payment/payment/i18n/kk.po
Normal file
|
|
@ -0,0 +1,760 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * payment
|
||||
#
|
||||
# Translators:
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2016-08-18 14:07+0000\n"
|
||||
"PO-Revision-Date: 2015-09-08 06:27+0000\n"
|
||||
"Last-Translator: Martin Trigaux\n"
|
||||
"Language-Team: Kazakh (http://www.transifex.com/odoo/odoo-9/language/kk/)\n"
|
||||
"Language: kk\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_transaction_callback_eval
|
||||
msgid ""
|
||||
" Will be safe_eval with `self` being the current transaction. i."
|
||||
"e.:\n"
|
||||
" self.env['my.model'].payment_validated(self)"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_adyen
|
||||
msgid "-This installs the module payment_adyen."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_authorize
|
||||
msgid "-This installs the module payment_authorize."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_buckaroo
|
||||
msgid "-This installs the module payment_buckaroo."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_ogone
|
||||
msgid "-This installs the module payment_ogone."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_paypal
|
||||
msgid "-This installs the module payment_paypal."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_sips
|
||||
msgid "-This installs the module payment_sips."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_account_config_settings_module_payment_transfer
|
||||
msgid "-This installs the module payment_transfer."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_html_3ds
|
||||
msgid "3D Secure HTML"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid ""
|
||||
"<span class=\"text-danger\">Test</span>\n"
|
||||
" <span class=\"o_stat_text\">Environment</"
|
||||
"span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid ""
|
||||
"<span class=\"text-success\">Production</span>\n"
|
||||
" <span class=\"o_stat_text\">Environment</"
|
||||
"span>"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_acquirer_id
|
||||
msgid "Acquirer"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_acquirer_id
|
||||
msgid "Acquirer Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_acquirer_ref
|
||||
msgid "Acquirer Ref."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_acquirer_reference
|
||||
msgid "Acquirer Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_active
|
||||
msgid "Active"
|
||||
msgstr "Белсенді"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_fees_active
|
||||
msgid "Add Extra Fees"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_address
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "Address"
|
||||
msgstr "Адресі"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_adyen
|
||||
msgid "Adyen"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_amount
|
||||
#: model:ir.model.fields,help:payment.field_payment_transaction_amount
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.acquirer,auto_confirm:0
|
||||
msgid "At payment no acquirer confirmation needed"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.acquirer,auto_confirm:0
|
||||
msgid "At payment with acquirer confirmation"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_authorize
|
||||
msgid "Authorize.Net"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_buckaroo
|
||||
msgid "Buckaroo"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_cancel_msg
|
||||
msgid "Cancel Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,state:0
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_city
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "City"
|
||||
msgstr "Қала"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_company_id
|
||||
msgid "Company"
|
||||
msgstr "Компания"
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "Configuration"
|
||||
msgstr "Баптау"
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.payment_acquirer_installation
|
||||
msgid "Configure payment acquiring methods"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_res_partner_payment_method_count
|
||||
msgid "Count Payment Method"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_country_id
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "Country"
|
||||
msgstr "Кантри"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_create_uid
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_create_uid
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_create_uid
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_create_date
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_create_date
|
||||
msgid "Created on"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_create_date
|
||||
msgid "Creation Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "Credentials"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.view_partners_form_payment_defaultcreditcard
|
||||
msgid "Credit card(s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_currency_id
|
||||
msgid "Currency"
|
||||
msgstr "Ақша"
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "Customer Details"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_sequence
|
||||
msgid "Determine the display order"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_display_name
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_display_name
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,state:0
|
||||
msgid "Done"
|
||||
msgstr "Бітті"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_done_msg
|
||||
msgid "Done Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,state:0
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "E-mail"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_email
|
||||
msgid "Email"
|
||||
msgstr "Эл.поштасы"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_environment
|
||||
msgid "Environment"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,state:0
|
||||
msgid "Error"
|
||||
msgstr "Қате"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_error_msg
|
||||
msgid "Error Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_fees
|
||||
msgid "Fees"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_transaction_fees
|
||||
msgid "Fees amount; set by the system because depends on the acquirer"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_transaction_state_message
|
||||
msgid "Field used to store error and/or validation messages for information"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_fees_dom_fixed
|
||||
msgid "Fixed domestic fees"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_fees_int_fixed
|
||||
msgid "Fixed international fees"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,type:0
|
||||
msgid "Form"
|
||||
msgstr "Пішін"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_view_template_id
|
||||
msgid "Form Button Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,type:0
|
||||
msgid "Form with credentials storage"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_search
|
||||
msgid "Group By"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_pre_msg
|
||||
msgid "Help Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_id
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_id
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_image
|
||||
msgid "Image"
|
||||
msgstr "Сурет"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_transaction_reference
|
||||
msgid "Internal reference of the TX"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_lang
|
||||
msgid "Language"
|
||||
msgstr "Тіл"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer___last_update
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method___last_update
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction___last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_write_uid
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_write_uid
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_write_date
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_write_date
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_website_published
|
||||
msgid "Make this payment acquirer available (Customer invoices, etc.)"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_image_medium
|
||||
msgid "Medium-sized image"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_image_medium
|
||||
msgid ""
|
||||
"Medium-sized image of this provider. It is automatically resized as a "
|
||||
"128x128px image, with aspect ratio preserved. Use this field in form views "
|
||||
"or some kanban views."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_state_message
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "Message"
|
||||
msgstr "Хат"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_post_msg
|
||||
msgid "Message displayed after having done the payment process."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_pre_msg
|
||||
msgid "Message displayed to explain and help the payment process."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_error_msg
|
||||
msgid "Message displayed, if error is occur during the payment process."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_cancel_msg
|
||||
msgid "Message displayed, if order is cancel during the payment process."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_done_msg
|
||||
msgid ""
|
||||
"Message displayed, if order is done successfully after having done the "
|
||||
"payment process."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_pending_msg
|
||||
msgid ""
|
||||
"Message displayed, if order is in pending state after having done the "
|
||||
"payment process."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_name
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_name
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "Name"
|
||||
msgstr "Атауы"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_method_name
|
||||
msgid "Name of the payment method"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.acquirer,auto_confirm:0
|
||||
msgid "No automatic confirmation"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_ogone
|
||||
msgid "Ogone"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_auto_confirm
|
||||
msgid "Order Confirmation"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model,name:payment.model_res_partner
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_partner_id
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_id
|
||||
msgid "Partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_name
|
||||
msgid "Partner Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model,name:payment.model_payment_acquirer
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "Payment Acquirer"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.actions.act_window,name:payment.action_payment_acquirer
|
||||
#: model:ir.ui.menu,name:payment.payment_acquirer_menu
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_list
|
||||
msgid "Payment Acquirers"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_payment_method_id
|
||||
msgid "Payment Method"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_res_partner_payment_method_ids
|
||||
#: model_terms:ir.ui.view,arch_db:payment.payment_method_form_view
|
||||
#: model_terms:ir.ui.view,arch_db:payment.payment_method_tree_view
|
||||
#: model_terms:ir.ui.view,arch_db:payment.payment_method_view_search
|
||||
msgid "Payment Methods"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model,name:payment.model_payment_transaction
|
||||
msgid "Payment Transaction"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.actions.act_window,name:payment.action_payment_transaction
|
||||
#: model:ir.actions.act_window,name:payment.action_payment_tx_ids
|
||||
#: model:ir.actions.act_window,name:payment.payment_transaction_action_child
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_method_payment_ids
|
||||
#: model:ir.ui.menu,name:payment.payment_transaction_menu
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_list
|
||||
msgid "Payment Transactions"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.ui.menu,name:payment.root_payment_menu
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
#: model_terms:ir.ui.view,arch_db:payment.payment_method_form_view
|
||||
msgid "Payments"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_paypal
|
||||
msgid "Paypal"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,state:0
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_pending_msg
|
||||
msgid "Pending Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_phone
|
||||
msgid "Phone"
|
||||
msgstr "Телефондау"
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.acquirer,environment:0
|
||||
msgid "Production"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_provider
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_search
|
||||
msgid "Provider"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_reference
|
||||
msgid "Reference"
|
||||
msgstr "Сілтеме"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_transaction_acquirer_reference
|
||||
msgid "Reference of the TX as stored in the acquirer database"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: constraint:payment.acquirer:0
|
||||
msgid "Required fields not filled"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_callback_eval
|
||||
msgid "S2S Callback"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_registration_view_template_id
|
||||
msgid "S2S Form Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.actions.act_window,name:payment.payment_method_action
|
||||
#: model:ir.ui.menu,name:payment.payment_method_menu
|
||||
msgid "Saved Payment Data"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_sequence
|
||||
msgid "Sequence"
|
||||
msgstr "Тізбек"
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.transaction,type:0
|
||||
msgid "Server To Server"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_sips
|
||||
msgid "Sips"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_image_small
|
||||
msgid "Small-sized image"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_image_small
|
||||
msgid ""
|
||||
"Small-sized image of this provider. It is automatically resized as a 64x64px "
|
||||
"image, with aspect ratio preserved. Use this field anywhere a small image is "
|
||||
"required."
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_state
|
||||
msgid "Status"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_registration_view_template_id
|
||||
msgid "Template for method registration"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: selection:payment.acquirer,environment:0
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_post_msg
|
||||
msgid "Thanks Message"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: constraint:payment.transaction:0
|
||||
msgid "The payment transaction reference must be unique!"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,help:payment.field_payment_acquirer_image
|
||||
msgid ""
|
||||
"This field holds the image used for this provider, limited to 1024x1024px"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid ""
|
||||
"This template renders the acquirer button with all necessary values.\n"
|
||||
" It is be rendered with qWeb with "
|
||||
"the following evaluation context:"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_type
|
||||
msgid "Type"
|
||||
msgstr "Түрі"
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_date_validate
|
||||
msgid "Validation Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_fees_dom_var
|
||||
msgid "Variable domestic fees (in percents)"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_fees_int_var
|
||||
msgid "Variable international fees (in percents)"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_acquirer_website_published
|
||||
msgid "Visible in Portal / Website"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_account_config_settings_module_payment_transfer
|
||||
msgid "Wire Transfer"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.transaction_form
|
||||
msgid "ZIP"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model.fields,field_description:payment.field_payment_transaction_partner_zip
|
||||
msgid "Zip"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model,name:payment.model_account_config_settings
|
||||
msgid "account.config.settings"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "acquirer: payment.acquirer browse record"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "amount: the transaction amount, a float"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "context: the current context dictionary"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "currency: the transaction currency browse record"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "partner: the buyer partner browse record, not necessarily set"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid ""
|
||||
"partner_values: specific values about the buyer, for example coming from a "
|
||||
"shipping form"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model:ir.model,name:payment.model_payment_method
|
||||
msgid "payment.method"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "reference: the transaction reference number"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "tx_url: transaction URL to post the form"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "tx_values: transaction values"
|
||||
msgstr ""
|
||||
|
||||
#. module: payment
|
||||
#: model_terms:ir.ui.view,arch_db:payment.acquirer_form
|
||||
msgid "user: current user browse record"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "unknown"
|
||||
#~ msgstr "беймәлім"
|
||||
2245
odoo-bringout-oca-ocb-payment/payment/i18n/km.po
Normal file
2245
odoo-bringout-oca-ocb-payment/payment/i18n/km.po
Normal file
File diff suppressed because it is too large
Load diff
2244
odoo-bringout-oca-ocb-payment/payment/i18n/ko.po
Normal file
2244
odoo-bringout-oca-ocb-payment/payment/i18n/ko.po
Normal file
File diff suppressed because it is too large
Load diff
2133
odoo-bringout-oca-ocb-payment/payment/i18n/lb.po
Normal file
2133
odoo-bringout-oca-ocb-payment/payment/i18n/lb.po
Normal file
File diff suppressed because it is too large
Load diff
2237
odoo-bringout-oca-ocb-payment/payment/i18n/lo.po
Normal file
2237
odoo-bringout-oca-ocb-payment/payment/i18n/lo.po
Normal file
File diff suppressed because it is too large
Load diff
2238
odoo-bringout-oca-ocb-payment/payment/i18n/lt.po
Normal file
2238
odoo-bringout-oca-ocb-payment/payment/i18n/lt.po
Normal file
File diff suppressed because it is too large
Load diff
2230
odoo-bringout-oca-ocb-payment/payment/i18n/lv.po
Normal file
2230
odoo-bringout-oca-ocb-payment/payment/i18n/lv.po
Normal file
File diff suppressed because it is too large
Load diff
1410
odoo-bringout-oca-ocb-payment/payment/i18n/mk.po
Normal file
1410
odoo-bringout-oca-ocb-payment/payment/i18n/mk.po
Normal file
File diff suppressed because it is too large
Load diff
2242
odoo-bringout-oca-ocb-payment/payment/i18n/ml.po
Normal file
2242
odoo-bringout-oca-ocb-payment/payment/i18n/ml.po
Normal file
File diff suppressed because it is too large
Load diff
2255
odoo-bringout-oca-ocb-payment/payment/i18n/mn.po
Normal file
2255
odoo-bringout-oca-ocb-payment/payment/i18n/mn.po
Normal file
File diff suppressed because it is too large
Load diff
2236
odoo-bringout-oca-ocb-payment/payment/i18n/ms.po
Normal file
2236
odoo-bringout-oca-ocb-payment/payment/i18n/ms.po
Normal file
File diff suppressed because it is too large
Load diff
2247
odoo-bringout-oca-ocb-payment/payment/i18n/nb.po
Normal file
2247
odoo-bringout-oca-ocb-payment/payment/i18n/nb.po
Normal file
File diff suppressed because it is too large
Load diff
1407
odoo-bringout-oca-ocb-payment/payment/i18n/ne.po
Normal file
1407
odoo-bringout-oca-ocb-payment/payment/i18n/ne.po
Normal file
File diff suppressed because it is too large
Load diff
2307
odoo-bringout-oca-ocb-payment/payment/i18n/nl.po
Normal file
2307
odoo-bringout-oca-ocb-payment/payment/i18n/nl.po
Normal file
File diff suppressed because it is too large
Load diff
2235
odoo-bringout-oca-ocb-payment/payment/i18n/no.po
Normal file
2235
odoo-bringout-oca-ocb-payment/payment/i18n/no.po
Normal file
File diff suppressed because it is too large
Load diff
2212
odoo-bringout-oca-ocb-payment/payment/i18n/payment.pot
Normal file
2212
odoo-bringout-oca-ocb-payment/payment/i18n/payment.pot
Normal file
File diff suppressed because it is too large
Load diff
2330
odoo-bringout-oca-ocb-payment/payment/i18n/pl.po
Normal file
2330
odoo-bringout-oca-ocb-payment/payment/i18n/pl.po
Normal file
File diff suppressed because it is too large
Load diff
2237
odoo-bringout-oca-ocb-payment/payment/i18n/pt.po
Normal file
2237
odoo-bringout-oca-ocb-payment/payment/i18n/pt.po
Normal file
File diff suppressed because it is too large
Load diff
2298
odoo-bringout-oca-ocb-payment/payment/i18n/pt_BR.po
Normal file
2298
odoo-bringout-oca-ocb-payment/payment/i18n/pt_BR.po
Normal file
File diff suppressed because it is too large
Load diff
2290
odoo-bringout-oca-ocb-payment/payment/i18n/ro.po
Normal file
2290
odoo-bringout-oca-ocb-payment/payment/i18n/ro.po
Normal file
File diff suppressed because it is too large
Load diff
2292
odoo-bringout-oca-ocb-payment/payment/i18n/ru.po
Normal file
2292
odoo-bringout-oca-ocb-payment/payment/i18n/ru.po
Normal file
File diff suppressed because it is too large
Load diff
2254
odoo-bringout-oca-ocb-payment/payment/i18n/sk.po
Normal file
2254
odoo-bringout-oca-ocb-payment/payment/i18n/sk.po
Normal file
File diff suppressed because it is too large
Load diff
2236
odoo-bringout-oca-ocb-payment/payment/i18n/sl.po
Normal file
2236
odoo-bringout-oca-ocb-payment/payment/i18n/sl.po
Normal file
File diff suppressed because it is too large
Load diff
2235
odoo-bringout-oca-ocb-payment/payment/i18n/sq.po
Normal file
2235
odoo-bringout-oca-ocb-payment/payment/i18n/sq.po
Normal file
File diff suppressed because it is too large
Load diff
2285
odoo-bringout-oca-ocb-payment/payment/i18n/sr.po
Normal file
2285
odoo-bringout-oca-ocb-payment/payment/i18n/sr.po
Normal file
File diff suppressed because it is too large
Load diff
1413
odoo-bringout-oca-ocb-payment/payment/i18n/sr@latin.po
Normal file
1413
odoo-bringout-oca-ocb-payment/payment/i18n/sr@latin.po
Normal file
File diff suppressed because it is too large
Load diff
2295
odoo-bringout-oca-ocb-payment/payment/i18n/sv.po
Normal file
2295
odoo-bringout-oca-ocb-payment/payment/i18n/sv.po
Normal file
File diff suppressed because it is too large
Load diff
2231
odoo-bringout-oca-ocb-payment/payment/i18n/sw.po
Normal file
2231
odoo-bringout-oca-ocb-payment/payment/i18n/sw.po
Normal file
File diff suppressed because it is too large
Load diff
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue