Use pre-authorization to accept payment, rather than charge
Customer wants this because the booking is not automatically created, thus it is possible to overbook. They want to accept the payment of those that they can actually book.
This commit is contained in:
parent
d71d974abd
commit
72f8a329d2
|
@ -2,6 +2,7 @@ package payment
|
|||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
|
@ -9,6 +10,7 @@ import (
|
|||
"dev.tandem.ws/tandem/camper/pkg/database"
|
||||
httplib "dev.tandem.ws/tandem/camper/pkg/http"
|
||||
"dev.tandem.ws/tandem/camper/pkg/locale"
|
||||
"dev.tandem.ws/tandem/camper/pkg/redsys"
|
||||
"dev.tandem.ws/tandem/camper/pkg/template"
|
||||
"dev.tandem.ws/tandem/camper/pkg/uuid"
|
||||
)
|
||||
|
@ -67,12 +69,12 @@ func (h *AdminHandler) Handler(user *auth.User, company *auth.Company, conn *dat
|
|||
}
|
||||
panic(err)
|
||||
}
|
||||
h.paymentHandler(user, company, payment).ServeHTTP(w, r)
|
||||
h.paymentHandler(user, company, conn, payment).ServeHTTP(w, r)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func (h *AdminHandler) paymentHandler(user *auth.User, company *auth.Company, payment *paymentDetails) http.Handler {
|
||||
func (h *AdminHandler) paymentHandler(user *auth.User, company *auth.Company, conn *database.Conn, payment *paymentDetails) http.Handler {
|
||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
var head string
|
||||
head, r.URL.Path = httplib.ShiftPath(r.URL.Path)
|
||||
|
@ -81,6 +83,20 @@ func (h *AdminHandler) paymentHandler(user *auth.User, company *auth.Company, pa
|
|||
case "":
|
||||
switch r.Method {
|
||||
case http.MethodGet:
|
||||
if payment.Status == StatusPreAuthenticated {
|
||||
var err error
|
||||
if err = conn.QueryRow(r.Context(), "select environment from redsys where company_id = $1", company.ID).Scan(&payment.Environment); err != nil && !database.ErrorIsNotFound(err) {
|
||||
panic(err)
|
||||
}
|
||||
payment.AcceptPreauthRequest, err = payment.createRequest(r, user, company, conn, redsys.TransactionTypePreauthConfirm)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
payment.VoidPreauthRequest, err = payment.createRequest(r, user, company, conn, redsys.TransactionTypePreauthVoid)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
payment.MustRender(w, r, user, company)
|
||||
default:
|
||||
httplib.MethodNotAllowed(w, r, http.MethodGet)
|
||||
|
@ -163,28 +179,32 @@ func (page *paymentIndex) MustRender(w http.ResponseWriter, r *http.Request, use
|
|||
}
|
||||
|
||||
type paymentDetails struct {
|
||||
ID int
|
||||
Reference string
|
||||
CampsiteType string
|
||||
ArrivalDate time.Time
|
||||
DepartureDate time.Time
|
||||
NumNights int
|
||||
NumAdults int
|
||||
NumTeenagers int
|
||||
NumChildren int
|
||||
NumDogs int
|
||||
SubtotalTouristTax string
|
||||
Total string
|
||||
DownPaymentPercent int
|
||||
DownPayment string
|
||||
ZonePreferences string
|
||||
ACSICard bool
|
||||
Status string
|
||||
StatusLabel string
|
||||
CreatedAt time.Time
|
||||
UpdatedAt time.Time
|
||||
Options []*paymentOption
|
||||
Customer *paymentCustomer
|
||||
ID int
|
||||
Slug string
|
||||
Reference string
|
||||
CampsiteType string
|
||||
ArrivalDate time.Time
|
||||
DepartureDate time.Time
|
||||
NumNights int
|
||||
NumAdults int
|
||||
NumTeenagers int
|
||||
NumChildren int
|
||||
NumDogs int
|
||||
SubtotalTouristTax string
|
||||
Total string
|
||||
DownPaymentPercent int
|
||||
DownPayment string
|
||||
ZonePreferences string
|
||||
ACSICard bool
|
||||
Status string
|
||||
StatusLabel string
|
||||
CreatedAt time.Time
|
||||
UpdatedAt time.Time
|
||||
Options []*paymentOption
|
||||
Customer *paymentCustomer
|
||||
Environment string
|
||||
AcceptPreauthRequest *redsys.SignedRequest
|
||||
VoidPreauthRequest *redsys.SignedRequest
|
||||
}
|
||||
|
||||
type paymentOption struct {
|
||||
|
@ -206,6 +226,7 @@ type paymentCustomer struct {
|
|||
func fetchPaymentDetails(ctx context.Context, conn *database.Conn, slug string, locale *locale.Locale) (*paymentDetails, error) {
|
||||
row := conn.QueryRow(ctx, `
|
||||
select payment_id
|
||||
, payment.slug
|
||||
, payment.reference
|
||||
, coalesce(campsite_type_i18n.name, campsite_type.name)
|
||||
, arrival_date
|
||||
|
@ -238,6 +259,7 @@ func fetchPaymentDetails(ctx context.Context, conn *database.Conn, slug string,
|
|||
details := &paymentDetails{}
|
||||
if err := row.Scan(
|
||||
&details.ID,
|
||||
&details.Slug,
|
||||
&details.Reference,
|
||||
&details.CampsiteType,
|
||||
&details.ArrivalDate,
|
||||
|
@ -334,6 +356,22 @@ func fetchPaymentCustomer(ctx context.Context, conn *database.Conn, paymentID in
|
|||
return customer, nil
|
||||
}
|
||||
|
||||
func (f *paymentDetails) createRequest(r *http.Request, user *auth.User, company *auth.Company, conn *database.Conn, transactionType redsys.TransactionType) (*redsys.SignedRequest, error) {
|
||||
schema := httplib.Protocol(r)
|
||||
authority := httplib.Host(r)
|
||||
paymentURL := fmt.Sprintf("%s://%s/admin/payments/%s", schema, authority, f.Slug)
|
||||
request := redsys.Request{
|
||||
TransactionType: transactionType,
|
||||
Amount: f.DownPayment,
|
||||
OrderNumber: f.Reference,
|
||||
SuccessURL: paymentURL,
|
||||
FailureURL: paymentURL,
|
||||
NotificationURL: fmt.Sprintf("%s/notification", publicBaseURL(r, user, f.Slug)),
|
||||
ConsumerLanguage: user.Locale.Language,
|
||||
}
|
||||
return request.Sign(r.Context(), conn, company)
|
||||
}
|
||||
|
||||
func (f *paymentDetails) MustRender(w http.ResponseWriter, r *http.Request, user *auth.User, company *auth.Company) {
|
||||
template.MustRenderAdmin(w, r, user, company, "payment/details.gohtml", f)
|
||||
}
|
||||
|
|
|
@ -20,7 +20,8 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
StatusCompleted = "completed"
|
||||
StatusCompleted = "completed"
|
||||
StatusPreAuthenticated = "preauth"
|
||||
)
|
||||
|
||||
type PublicHandler struct {
|
||||
|
@ -101,11 +102,9 @@ type Payment struct {
|
|||
}
|
||||
|
||||
func (payment *Payment) createRequest(r *http.Request, user *auth.User, company *auth.Company, conn *database.Conn) (*redsys.SignedRequest, error) {
|
||||
schema := httplib.Protocol(r)
|
||||
authority := httplib.Host(r)
|
||||
baseURL := fmt.Sprintf("%s://%s/%s/payments/%s", schema, authority, user.Locale.Language, payment.Slug)
|
||||
baseURL := publicBaseURL(r, user, payment.Slug)
|
||||
request := redsys.Request{
|
||||
TransactionType: redsys.TransactionTypeCharge,
|
||||
TransactionType: redsys.TransactionTypePreauth,
|
||||
Amount: payment.DownPayment,
|
||||
OrderNumber: payment.Reference,
|
||||
Product: user.Locale.Pgettext("Campsite Booking", "order product name"),
|
||||
|
@ -117,6 +116,12 @@ func (payment *Payment) createRequest(r *http.Request, user *auth.User, company
|
|||
return request.Sign(r.Context(), conn, company)
|
||||
}
|
||||
|
||||
func publicBaseURL(r *http.Request, user *auth.User, slug string) string {
|
||||
schema := httplib.Protocol(r)
|
||||
authority := httplib.Host(r)
|
||||
return fmt.Sprintf("%s://%s/%s/payments/%s", schema, authority, user.Locale.Language, slug)
|
||||
}
|
||||
|
||||
type paymentPage struct {
|
||||
*template.PublicPage
|
||||
Environment string
|
||||
|
@ -248,7 +253,7 @@ func handleNotification(w http.ResponseWriter, r *http.Request, user *auth.User,
|
|||
return
|
||||
}
|
||||
switch status {
|
||||
case StatusCompleted:
|
||||
case StatusPreAuthenticated:
|
||||
if err := sendEmail(r, conn, payment, company, user.Locale); err != nil {
|
||||
log.Println("Could not send email:", err)
|
||||
}
|
||||
|
|
84
po/ca.po
84
po/ca.po
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: camper\n"
|
||||
"Report-Msgid-Bugs-To: jordi@tandem.blog\n"
|
||||
"POT-Creation-Date: 2024-03-14 22:05+0100\n"
|
||||
"POT-Creation-Date: 2024-03-24 21:59+0100\n"
|
||||
"PO-Revision-Date: 2024-02-06 10:04+0100\n"
|
||||
"Last-Translator: jordi fita mas <jordi@tandem.blog>\n"
|
||||
"Language-Team: Catalan <ca@dodds.net>\n"
|
||||
|
@ -72,14 +72,14 @@ msgid "We have successfully received the payment for the booking with the follow
|
|||
msgstr "Hem rebut amb èxit el pagament de la reserva amb els següents detalls:"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:7
|
||||
#: web/templates/admin/payment/details.gohtml:19
|
||||
#: web/templates/admin/payment/details.gohtml:49
|
||||
msgctxt "title"
|
||||
msgid "Payment"
|
||||
msgstr "Pagament"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:9
|
||||
#: web/templates/admin/payment/index.gohtml:21
|
||||
#: web/templates/admin/payment/details.gohtml:22
|
||||
#: web/templates/admin/payment/details.gohtml:52
|
||||
#: web/templates/admin/booking/index.gohtml:21
|
||||
msgctxt "header"
|
||||
msgid "Reference"
|
||||
|
@ -87,20 +87,20 @@ msgstr "Referència"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:10
|
||||
#: web/templates/admin/payment/index.gohtml:22
|
||||
#: web/templates/admin/payment/details.gohtml:26
|
||||
#: web/templates/admin/payment/details.gohtml:56
|
||||
#: web/templates/admin/booking/index.gohtml:25
|
||||
msgctxt "header"
|
||||
msgid "Status"
|
||||
msgstr "Estat"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:11
|
||||
#: web/templates/admin/payment/details.gohtml:30
|
||||
#: web/templates/admin/payment/details.gohtml:60
|
||||
msgctxt "payment header"
|
||||
msgid "Created at"
|
||||
msgstr "Creat el"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:12
|
||||
#: web/templates/admin/payment/details.gohtml:34
|
||||
#: web/templates/admin/payment/details.gohtml:64
|
||||
msgctxt "payment header"
|
||||
msgid "Last updated at"
|
||||
msgstr "Actualitzat per darrera vegada el"
|
||||
|
@ -108,32 +108,32 @@ msgstr "Actualitzat per darrera vegada el"
|
|||
#: web/templates/mail/payment/details.gotxt:14
|
||||
#: web/templates/public/layout.gohtml:71
|
||||
#: web/templates/public/booking/page.gohtml:7
|
||||
#: web/templates/admin/payment/details.gohtml:41
|
||||
#: web/templates/admin/payment/details.gohtml:71
|
||||
msgctxt "title"
|
||||
msgid "Booking"
|
||||
msgstr "Reserva"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:16
|
||||
#: web/templates/public/booking/fields.gohtml:14
|
||||
#: web/templates/admin/payment/details.gohtml:44
|
||||
#: web/templates/admin/payment/details.gohtml:74
|
||||
msgctxt "title"
|
||||
msgid "Accommodation"
|
||||
msgstr "Allotjament"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:17
|
||||
#: web/templates/admin/payment/details.gohtml:48
|
||||
#: web/templates/admin/payment/details.gohtml:78
|
||||
msgctxt "header"
|
||||
msgid "Area preferences"
|
||||
msgstr "Preferències d’àrea"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:18
|
||||
#: web/templates/admin/payment/details.gohtml:52
|
||||
#: web/templates/admin/payment/details.gohtml:82
|
||||
msgctxt "input"
|
||||
msgid "ACSI card?"
|
||||
msgstr "Targeta ACSI?"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:18
|
||||
#: web/templates/admin/payment/details.gohtml:53
|
||||
#: web/templates/admin/payment/details.gohtml:83
|
||||
#: web/templates/admin/campsite/index.gohtml:41
|
||||
#: web/templates/admin/campsite/type/index.gohtml:53
|
||||
#: web/templates/admin/season/index.gohtml:44
|
||||
|
@ -143,7 +143,7 @@ msgid "Yes"
|
|||
msgstr "Sí"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:18
|
||||
#: web/templates/admin/payment/details.gohtml:53
|
||||
#: web/templates/admin/payment/details.gohtml:83
|
||||
#: web/templates/admin/campsite/index.gohtml:41
|
||||
#: web/templates/admin/campsite/type/index.gohtml:53
|
||||
#: web/templates/admin/season/index.gohtml:44
|
||||
|
@ -155,7 +155,7 @@ msgstr "No"
|
|||
#: web/templates/mail/payment/details.gotxt:19
|
||||
#: web/templates/public/campsite/dates.gohtml:4
|
||||
#: web/templates/public/booking/fields.gohtml:30
|
||||
#: web/templates/admin/payment/details.gohtml:56
|
||||
#: web/templates/admin/payment/details.gohtml:86
|
||||
msgctxt "input"
|
||||
msgid "Arrival date"
|
||||
msgstr "Data d’arribada"
|
||||
|
@ -163,47 +163,47 @@ msgstr "Data d’arribada"
|
|||
#: web/templates/mail/payment/details.gotxt:20
|
||||
#: web/templates/public/campsite/dates.gohtml:15
|
||||
#: web/templates/public/booking/fields.gohtml:41
|
||||
#: web/templates/admin/payment/details.gohtml:60
|
||||
#: web/templates/admin/payment/details.gohtml:90
|
||||
msgctxt "input"
|
||||
msgid "Departure date"
|
||||
msgstr "Data de sortida"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:21
|
||||
#: web/templates/admin/payment/details.gohtml:64
|
||||
#: web/templates/admin/payment/details.gohtml:94
|
||||
msgctxt "cart"
|
||||
msgid "Nights"
|
||||
msgstr "Nits"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:22
|
||||
#: web/templates/public/booking/fields.gohtml:60
|
||||
#: web/templates/admin/payment/details.gohtml:68
|
||||
#: web/templates/admin/payment/details.gohtml:98
|
||||
msgctxt "input"
|
||||
msgid "Adults aged 17 or older"
|
||||
msgstr "Adults de 17 anys o més"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:23
|
||||
#: web/templates/public/booking/fields.gohtml:71
|
||||
#: web/templates/admin/payment/details.gohtml:72
|
||||
#: web/templates/admin/payment/details.gohtml:102
|
||||
msgctxt "input"
|
||||
msgid "Teenagers from 11 to 16 years old"
|
||||
msgstr "Adolescents d’entre 11 i 16 anys"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:24
|
||||
#: web/templates/public/booking/fields.gohtml:82
|
||||
#: web/templates/admin/payment/details.gohtml:76
|
||||
#: web/templates/admin/payment/details.gohtml:106
|
||||
msgctxt "input"
|
||||
msgid "Children from 2 to 10 years old"
|
||||
msgstr "Nens d’entre 2 i 10 anys"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:25
|
||||
#: web/templates/public/booking/fields.gohtml:100
|
||||
#: web/templates/admin/payment/details.gohtml:80
|
||||
#: web/templates/admin/payment/details.gohtml:110
|
||||
msgctxt "input"
|
||||
msgid "Dogs"
|
||||
msgstr "Gossos"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:26
|
||||
#: web/templates/admin/payment/details.gohtml:84 pkg/booking/cart.go:197
|
||||
#: web/templates/admin/payment/details.gohtml:114 pkg/booking/cart.go:197
|
||||
msgctxt "cart"
|
||||
msgid "Tourist tax"
|
||||
msgstr "Impost turístic"
|
||||
|
@ -216,13 +216,13 @@ msgstr "Total"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:28
|
||||
#: web/templates/public/booking/fields.gohtml:230
|
||||
#: web/templates/admin/payment/details.gohtml:88
|
||||
#: web/templates/admin/payment/details.gohtml:118
|
||||
msgctxt "cart"
|
||||
msgid "Down payment"
|
||||
msgstr "A compte"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:31
|
||||
#: web/templates/admin/payment/details.gohtml:96
|
||||
#: web/templates/admin/payment/details.gohtml:126
|
||||
#: web/templates/admin/campsite/type/option/form.gohtml:18
|
||||
#: web/templates/admin/campsite/type/option/index.gohtml:6
|
||||
#: web/templates/admin/campsite/type/option/index.gohtml:17
|
||||
|
@ -232,21 +232,21 @@ msgstr "Opcions del tipus d’allotjament"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:39
|
||||
#: web/templates/public/booking/fields.gohtml:146
|
||||
#: web/templates/admin/payment/details.gohtml:110
|
||||
#: web/templates/admin/payment/details.gohtml:140
|
||||
msgctxt "title"
|
||||
msgid "Customer Details"
|
||||
msgstr "Detalls del client"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:41
|
||||
#: web/templates/public/booking/fields.gohtml:149
|
||||
#: web/templates/admin/payment/details.gohtml:113
|
||||
#: web/templates/admin/payment/details.gohtml:143
|
||||
msgctxt "input"
|
||||
msgid "Full name"
|
||||
msgstr "Nom i cognoms"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:42
|
||||
#: web/templates/public/booking/fields.gohtml:158
|
||||
#: web/templates/admin/payment/details.gohtml:117
|
||||
#: web/templates/admin/payment/details.gohtml:147
|
||||
#: web/templates/admin/taxDetails.gohtml:69
|
||||
msgctxt "input"
|
||||
msgid "Address"
|
||||
|
@ -254,14 +254,14 @@ msgstr "Adreça"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:43
|
||||
#: web/templates/public/booking/fields.gohtml:167
|
||||
#: web/templates/admin/payment/details.gohtml:121
|
||||
#: web/templates/admin/payment/details.gohtml:151
|
||||
#: web/templates/admin/taxDetails.gohtml:93
|
||||
msgctxt "input"
|
||||
msgid "Postcode"
|
||||
msgstr "Codi postal"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:44
|
||||
#: web/templates/admin/payment/details.gohtml:125
|
||||
#: web/templates/admin/payment/details.gohtml:155
|
||||
#: web/templates/admin/taxDetails.gohtml:77
|
||||
msgctxt "input"
|
||||
msgid "City"
|
||||
|
@ -269,7 +269,7 @@ msgstr "Població"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:45
|
||||
#: web/templates/public/booking/fields.gohtml:185
|
||||
#: web/templates/admin/payment/details.gohtml:129
|
||||
#: web/templates/admin/payment/details.gohtml:159
|
||||
#: web/templates/admin/taxDetails.gohtml:101
|
||||
msgctxt "input"
|
||||
msgid "Country"
|
||||
|
@ -277,7 +277,7 @@ msgstr "País"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:46
|
||||
#: web/templates/public/booking/fields.gohtml:196
|
||||
#: web/templates/admin/payment/details.gohtml:133
|
||||
#: web/templates/admin/payment/details.gohtml:163
|
||||
#: web/templates/admin/login.gohtml:27 web/templates/admin/profile.gohtml:38
|
||||
#: web/templates/admin/taxDetails.gohtml:53
|
||||
msgctxt "input"
|
||||
|
@ -286,14 +286,14 @@ msgstr "Correu-e"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:47
|
||||
#: web/templates/public/booking/fields.gohtml:205
|
||||
#: web/templates/admin/payment/details.gohtml:137
|
||||
#: web/templates/admin/payment/details.gohtml:167
|
||||
#: web/templates/admin/taxDetails.gohtml:45
|
||||
msgctxt "input"
|
||||
msgid "Phone"
|
||||
msgstr "Telèfon"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:48
|
||||
#: web/templates/admin/payment/details.gohtml:141
|
||||
#: web/templates/admin/payment/details.gohtml:171
|
||||
#: web/templates/admin/profile.gohtml:68
|
||||
msgctxt "input"
|
||||
msgid "Language"
|
||||
|
@ -1015,6 +1015,24 @@ msgctxt "title"
|
|||
msgid "Payment %s"
|
||||
msgstr "Pagament %s"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:20
|
||||
msgid "Are you sure you wish to accept this pre-authorization?"
|
||||
msgstr "Esteu segur de voler acceptar aquesta pre-autorització?"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:29
|
||||
msgctxt "action"
|
||||
msgid "Accept pre-authorization"
|
||||
msgstr "Accepta pre-autorització"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:34
|
||||
msgid "Are you sure you wish to void this pre-authorization?"
|
||||
msgstr "Esteu segur de voler anuŀlar aquesta opció?"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:43
|
||||
msgctxt "action"
|
||||
msgid "Void pre-authorization"
|
||||
msgstr "Anuŀla pre-autorització"
|
||||
|
||||
#: web/templates/admin/legal/form.gohtml:8
|
||||
#: web/templates/admin/legal/form.gohtml:29
|
||||
msgctxt "title"
|
||||
|
@ -2265,12 +2283,12 @@ msgstr "La integració escollida no és vàlida."
|
|||
msgid "The merchant key is not valid."
|
||||
msgstr "Aquesta clau del comerç no és vàlid."
|
||||
|
||||
#: pkg/payment/public.go:111
|
||||
#: pkg/payment/public.go:110
|
||||
msgctxt "order product name"
|
||||
msgid "Campsite Booking"
|
||||
msgstr "Reserva de càmping"
|
||||
|
||||
#: pkg/payment/public.go:369
|
||||
#: pkg/payment/public.go:374
|
||||
msgctxt "subject"
|
||||
msgid "Booking payment successfully received"
|
||||
msgstr "Rebut amb èxit el pagament de la reserva"
|
||||
|
|
84
po/es.po
84
po/es.po
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: camper\n"
|
||||
"Report-Msgid-Bugs-To: jordi@tandem.blog\n"
|
||||
"POT-Creation-Date: 2024-03-14 22:05+0100\n"
|
||||
"POT-Creation-Date: 2024-03-24 21:59+0100\n"
|
||||
"PO-Revision-Date: 2024-02-06 10:04+0100\n"
|
||||
"Last-Translator: jordi fita mas <jordi@tandem.blog>\n"
|
||||
"Language-Team: Spanish <es@tp.org.es>\n"
|
||||
|
@ -72,14 +72,14 @@ msgid "We have successfully received the payment for the booking with the follow
|
|||
msgstr "Hemos recibido correctamente el pago de la reserva con los siguientes detalles:"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:7
|
||||
#: web/templates/admin/payment/details.gohtml:19
|
||||
#: web/templates/admin/payment/details.gohtml:49
|
||||
msgctxt "title"
|
||||
msgid "Payment"
|
||||
msgstr "Pago"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:9
|
||||
#: web/templates/admin/payment/index.gohtml:21
|
||||
#: web/templates/admin/payment/details.gohtml:22
|
||||
#: web/templates/admin/payment/details.gohtml:52
|
||||
#: web/templates/admin/booking/index.gohtml:21
|
||||
msgctxt "header"
|
||||
msgid "Reference"
|
||||
|
@ -87,20 +87,20 @@ msgstr "Referencia"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:10
|
||||
#: web/templates/admin/payment/index.gohtml:22
|
||||
#: web/templates/admin/payment/details.gohtml:26
|
||||
#: web/templates/admin/payment/details.gohtml:56
|
||||
#: web/templates/admin/booking/index.gohtml:25
|
||||
msgctxt "header"
|
||||
msgid "Status"
|
||||
msgstr "Estado"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:11
|
||||
#: web/templates/admin/payment/details.gohtml:30
|
||||
#: web/templates/admin/payment/details.gohtml:60
|
||||
msgctxt "payment header"
|
||||
msgid "Created at"
|
||||
msgstr "Creado el"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:12
|
||||
#: web/templates/admin/payment/details.gohtml:34
|
||||
#: web/templates/admin/payment/details.gohtml:64
|
||||
msgctxt "payment header"
|
||||
msgid "Last updated at"
|
||||
msgstr "Actualizado por última vez el"
|
||||
|
@ -108,32 +108,32 @@ msgstr "Actualizado por última vez el"
|
|||
#: web/templates/mail/payment/details.gotxt:14
|
||||
#: web/templates/public/layout.gohtml:71
|
||||
#: web/templates/public/booking/page.gohtml:7
|
||||
#: web/templates/admin/payment/details.gohtml:41
|
||||
#: web/templates/admin/payment/details.gohtml:71
|
||||
msgctxt "title"
|
||||
msgid "Booking"
|
||||
msgstr "Reserva"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:16
|
||||
#: web/templates/public/booking/fields.gohtml:14
|
||||
#: web/templates/admin/payment/details.gohtml:44
|
||||
#: web/templates/admin/payment/details.gohtml:74
|
||||
msgctxt "title"
|
||||
msgid "Accommodation"
|
||||
msgstr "Alojamientos"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:17
|
||||
#: web/templates/admin/payment/details.gohtml:48
|
||||
#: web/templates/admin/payment/details.gohtml:78
|
||||
msgctxt "header"
|
||||
msgid "Area preferences"
|
||||
msgstr "Preferencias de área"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:18
|
||||
#: web/templates/admin/payment/details.gohtml:52
|
||||
#: web/templates/admin/payment/details.gohtml:82
|
||||
msgctxt "input"
|
||||
msgid "ACSI card?"
|
||||
msgstr "¿Tarjeta ACSI?"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:18
|
||||
#: web/templates/admin/payment/details.gohtml:53
|
||||
#: web/templates/admin/payment/details.gohtml:83
|
||||
#: web/templates/admin/campsite/index.gohtml:41
|
||||
#: web/templates/admin/campsite/type/index.gohtml:53
|
||||
#: web/templates/admin/season/index.gohtml:44
|
||||
|
@ -143,7 +143,7 @@ msgid "Yes"
|
|||
msgstr "Sí"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:18
|
||||
#: web/templates/admin/payment/details.gohtml:53
|
||||
#: web/templates/admin/payment/details.gohtml:83
|
||||
#: web/templates/admin/campsite/index.gohtml:41
|
||||
#: web/templates/admin/campsite/type/index.gohtml:53
|
||||
#: web/templates/admin/season/index.gohtml:44
|
||||
|
@ -155,7 +155,7 @@ msgstr "No"
|
|||
#: web/templates/mail/payment/details.gotxt:19
|
||||
#: web/templates/public/campsite/dates.gohtml:4
|
||||
#: web/templates/public/booking/fields.gohtml:30
|
||||
#: web/templates/admin/payment/details.gohtml:56
|
||||
#: web/templates/admin/payment/details.gohtml:86
|
||||
msgctxt "input"
|
||||
msgid "Arrival date"
|
||||
msgstr "Fecha de llegada"
|
||||
|
@ -163,47 +163,47 @@ msgstr "Fecha de llegada"
|
|||
#: web/templates/mail/payment/details.gotxt:20
|
||||
#: web/templates/public/campsite/dates.gohtml:15
|
||||
#: web/templates/public/booking/fields.gohtml:41
|
||||
#: web/templates/admin/payment/details.gohtml:60
|
||||
#: web/templates/admin/payment/details.gohtml:90
|
||||
msgctxt "input"
|
||||
msgid "Departure date"
|
||||
msgstr "Fecha de salida"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:21
|
||||
#: web/templates/admin/payment/details.gohtml:64
|
||||
#: web/templates/admin/payment/details.gohtml:94
|
||||
msgctxt "cart"
|
||||
msgid "Nights"
|
||||
msgstr "Noches"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:22
|
||||
#: web/templates/public/booking/fields.gohtml:60
|
||||
#: web/templates/admin/payment/details.gohtml:68
|
||||
#: web/templates/admin/payment/details.gohtml:98
|
||||
msgctxt "input"
|
||||
msgid "Adults aged 17 or older"
|
||||
msgstr "Adultos de 17 años o más"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:23
|
||||
#: web/templates/public/booking/fields.gohtml:71
|
||||
#: web/templates/admin/payment/details.gohtml:72
|
||||
#: web/templates/admin/payment/details.gohtml:102
|
||||
msgctxt "input"
|
||||
msgid "Teenagers from 11 to 16 years old"
|
||||
msgstr "Adolescentes de 11 a 16 años"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:24
|
||||
#: web/templates/public/booking/fields.gohtml:82
|
||||
#: web/templates/admin/payment/details.gohtml:76
|
||||
#: web/templates/admin/payment/details.gohtml:106
|
||||
msgctxt "input"
|
||||
msgid "Children from 2 to 10 years old"
|
||||
msgstr "Niños de 2 a 10 años"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:25
|
||||
#: web/templates/public/booking/fields.gohtml:100
|
||||
#: web/templates/admin/payment/details.gohtml:80
|
||||
#: web/templates/admin/payment/details.gohtml:110
|
||||
msgctxt "input"
|
||||
msgid "Dogs"
|
||||
msgstr "Perros"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:26
|
||||
#: web/templates/admin/payment/details.gohtml:84 pkg/booking/cart.go:197
|
||||
#: web/templates/admin/payment/details.gohtml:114 pkg/booking/cart.go:197
|
||||
msgctxt "cart"
|
||||
msgid "Tourist tax"
|
||||
msgstr "Impuesto turístico"
|
||||
|
@ -216,13 +216,13 @@ msgstr "Total"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:28
|
||||
#: web/templates/public/booking/fields.gohtml:230
|
||||
#: web/templates/admin/payment/details.gohtml:88
|
||||
#: web/templates/admin/payment/details.gohtml:118
|
||||
msgctxt "cart"
|
||||
msgid "Down payment"
|
||||
msgstr "A cuenta"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:31
|
||||
#: web/templates/admin/payment/details.gohtml:96
|
||||
#: web/templates/admin/payment/details.gohtml:126
|
||||
#: web/templates/admin/campsite/type/option/form.gohtml:18
|
||||
#: web/templates/admin/campsite/type/option/index.gohtml:6
|
||||
#: web/templates/admin/campsite/type/option/index.gohtml:17
|
||||
|
@ -232,21 +232,21 @@ msgstr "Opciones del tipo de alojamiento"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:39
|
||||
#: web/templates/public/booking/fields.gohtml:146
|
||||
#: web/templates/admin/payment/details.gohtml:110
|
||||
#: web/templates/admin/payment/details.gohtml:140
|
||||
msgctxt "title"
|
||||
msgid "Customer Details"
|
||||
msgstr "Detalles del cliente"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:41
|
||||
#: web/templates/public/booking/fields.gohtml:149
|
||||
#: web/templates/admin/payment/details.gohtml:113
|
||||
#: web/templates/admin/payment/details.gohtml:143
|
||||
msgctxt "input"
|
||||
msgid "Full name"
|
||||
msgstr "Nombre y apellidos"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:42
|
||||
#: web/templates/public/booking/fields.gohtml:158
|
||||
#: web/templates/admin/payment/details.gohtml:117
|
||||
#: web/templates/admin/payment/details.gohtml:147
|
||||
#: web/templates/admin/taxDetails.gohtml:69
|
||||
msgctxt "input"
|
||||
msgid "Address"
|
||||
|
@ -254,14 +254,14 @@ msgstr "Dirección"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:43
|
||||
#: web/templates/public/booking/fields.gohtml:167
|
||||
#: web/templates/admin/payment/details.gohtml:121
|
||||
#: web/templates/admin/payment/details.gohtml:151
|
||||
#: web/templates/admin/taxDetails.gohtml:93
|
||||
msgctxt "input"
|
||||
msgid "Postcode"
|
||||
msgstr "Código postal"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:44
|
||||
#: web/templates/admin/payment/details.gohtml:125
|
||||
#: web/templates/admin/payment/details.gohtml:155
|
||||
#: web/templates/admin/taxDetails.gohtml:77
|
||||
msgctxt "input"
|
||||
msgid "City"
|
||||
|
@ -269,7 +269,7 @@ msgstr "Población"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:45
|
||||
#: web/templates/public/booking/fields.gohtml:185
|
||||
#: web/templates/admin/payment/details.gohtml:129
|
||||
#: web/templates/admin/payment/details.gohtml:159
|
||||
#: web/templates/admin/taxDetails.gohtml:101
|
||||
msgctxt "input"
|
||||
msgid "Country"
|
||||
|
@ -277,7 +277,7 @@ msgstr "País"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:46
|
||||
#: web/templates/public/booking/fields.gohtml:196
|
||||
#: web/templates/admin/payment/details.gohtml:133
|
||||
#: web/templates/admin/payment/details.gohtml:163
|
||||
#: web/templates/admin/login.gohtml:27 web/templates/admin/profile.gohtml:38
|
||||
#: web/templates/admin/taxDetails.gohtml:53
|
||||
msgctxt "input"
|
||||
|
@ -286,14 +286,14 @@ msgstr "Correo-e"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:47
|
||||
#: web/templates/public/booking/fields.gohtml:205
|
||||
#: web/templates/admin/payment/details.gohtml:137
|
||||
#: web/templates/admin/payment/details.gohtml:167
|
||||
#: web/templates/admin/taxDetails.gohtml:45
|
||||
msgctxt "input"
|
||||
msgid "Phone"
|
||||
msgstr "Teléfono"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:48
|
||||
#: web/templates/admin/payment/details.gohtml:141
|
||||
#: web/templates/admin/payment/details.gohtml:171
|
||||
#: web/templates/admin/profile.gohtml:68
|
||||
msgctxt "input"
|
||||
msgid "Language"
|
||||
|
@ -1015,6 +1015,24 @@ msgctxt "title"
|
|||
msgid "Payment %s"
|
||||
msgstr "Pago %s"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:20
|
||||
msgid "Are you sure you wish to accept this pre-authorization?"
|
||||
msgstr "¿Estáis seguro de querer acceptar esta preautorización?"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:29
|
||||
msgctxt "action"
|
||||
msgid "Accept pre-authorization"
|
||||
msgstr "Acceptar preautorización"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:34
|
||||
msgid "Are you sure you wish to void this pre-authorization?"
|
||||
msgstr "¿Estáis seguro de querer anular esta preautorización?"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:43
|
||||
msgctxt "action"
|
||||
msgid "Void pre-authorization"
|
||||
msgstr "Anular preautorización"
|
||||
|
||||
#: web/templates/admin/legal/form.gohtml:8
|
||||
#: web/templates/admin/legal/form.gohtml:29
|
||||
msgctxt "title"
|
||||
|
@ -2265,12 +2283,12 @@ msgstr "La integración escogida no es válida."
|
|||
msgid "The merchant key is not valid."
|
||||
msgstr "Esta clave del comercio no es válida."
|
||||
|
||||
#: pkg/payment/public.go:111
|
||||
#: pkg/payment/public.go:110
|
||||
msgctxt "order product name"
|
||||
msgid "Campsite Booking"
|
||||
msgstr "Reserva de camping"
|
||||
|
||||
#: pkg/payment/public.go:369
|
||||
#: pkg/payment/public.go:374
|
||||
msgctxt "subject"
|
||||
msgid "Booking payment successfully received"
|
||||
msgstr "Se ha recibido correctamente el pago de la reserva"
|
||||
|
|
84
po/fr.po
84
po/fr.po
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: camper\n"
|
||||
"Report-Msgid-Bugs-To: jordi@tandem.blog\n"
|
||||
"POT-Creation-Date: 2024-03-14 22:05+0100\n"
|
||||
"POT-Creation-Date: 2024-03-24 21:59+0100\n"
|
||||
"PO-Revision-Date: 2024-02-06 10:05+0100\n"
|
||||
"Last-Translator: Oriol Carbonell <info@oriolcarbonell.cat>\n"
|
||||
"Language-Team: French <traduc@traduc.org>\n"
|
||||
|
@ -72,14 +72,14 @@ msgid "We have successfully received the payment for the booking with the follow
|
|||
msgstr "Nous avons reçu avec succès le paiement de la réservation avec les détails suivants :"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:7
|
||||
#: web/templates/admin/payment/details.gohtml:19
|
||||
#: web/templates/admin/payment/details.gohtml:49
|
||||
msgctxt "title"
|
||||
msgid "Payment"
|
||||
msgstr "Paiement"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:9
|
||||
#: web/templates/admin/payment/index.gohtml:21
|
||||
#: web/templates/admin/payment/details.gohtml:22
|
||||
#: web/templates/admin/payment/details.gohtml:52
|
||||
#: web/templates/admin/booking/index.gohtml:21
|
||||
msgctxt "header"
|
||||
msgid "Reference"
|
||||
|
@ -87,20 +87,20 @@ msgstr "Référence"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:10
|
||||
#: web/templates/admin/payment/index.gohtml:22
|
||||
#: web/templates/admin/payment/details.gohtml:26
|
||||
#: web/templates/admin/payment/details.gohtml:56
|
||||
#: web/templates/admin/booking/index.gohtml:25
|
||||
msgctxt "header"
|
||||
msgid "Status"
|
||||
msgstr "Statut"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:11
|
||||
#: web/templates/admin/payment/details.gohtml:30
|
||||
#: web/templates/admin/payment/details.gohtml:60
|
||||
msgctxt "payment header"
|
||||
msgid "Created at"
|
||||
msgstr "Créé à"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:12
|
||||
#: web/templates/admin/payment/details.gohtml:34
|
||||
#: web/templates/admin/payment/details.gohtml:64
|
||||
msgctxt "payment header"
|
||||
msgid "Last updated at"
|
||||
msgstr "Dernière mise à jour à"
|
||||
|
@ -108,32 +108,32 @@ msgstr "Dernière mise à jour à"
|
|||
#: web/templates/mail/payment/details.gotxt:14
|
||||
#: web/templates/public/layout.gohtml:71
|
||||
#: web/templates/public/booking/page.gohtml:7
|
||||
#: web/templates/admin/payment/details.gohtml:41
|
||||
#: web/templates/admin/payment/details.gohtml:71
|
||||
msgctxt "title"
|
||||
msgid "Booking"
|
||||
msgstr "Réservation"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:16
|
||||
#: web/templates/public/booking/fields.gohtml:14
|
||||
#: web/templates/admin/payment/details.gohtml:44
|
||||
#: web/templates/admin/payment/details.gohtml:74
|
||||
msgctxt "title"
|
||||
msgid "Accommodation"
|
||||
msgstr "Hébergement"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:17
|
||||
#: web/templates/admin/payment/details.gohtml:48
|
||||
#: web/templates/admin/payment/details.gohtml:78
|
||||
msgctxt "header"
|
||||
msgid "Area preferences"
|
||||
msgstr "Préférences de zone"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:18
|
||||
#: web/templates/admin/payment/details.gohtml:52
|
||||
#: web/templates/admin/payment/details.gohtml:82
|
||||
msgctxt "input"
|
||||
msgid "ACSI card?"
|
||||
msgstr "Carte ACSI ?"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:18
|
||||
#: web/templates/admin/payment/details.gohtml:53
|
||||
#: web/templates/admin/payment/details.gohtml:83
|
||||
#: web/templates/admin/campsite/index.gohtml:41
|
||||
#: web/templates/admin/campsite/type/index.gohtml:53
|
||||
#: web/templates/admin/season/index.gohtml:44
|
||||
|
@ -143,7 +143,7 @@ msgid "Yes"
|
|||
msgstr "Oui"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:18
|
||||
#: web/templates/admin/payment/details.gohtml:53
|
||||
#: web/templates/admin/payment/details.gohtml:83
|
||||
#: web/templates/admin/campsite/index.gohtml:41
|
||||
#: web/templates/admin/campsite/type/index.gohtml:53
|
||||
#: web/templates/admin/season/index.gohtml:44
|
||||
|
@ -155,7 +155,7 @@ msgstr "Non"
|
|||
#: web/templates/mail/payment/details.gotxt:19
|
||||
#: web/templates/public/campsite/dates.gohtml:4
|
||||
#: web/templates/public/booking/fields.gohtml:30
|
||||
#: web/templates/admin/payment/details.gohtml:56
|
||||
#: web/templates/admin/payment/details.gohtml:86
|
||||
msgctxt "input"
|
||||
msgid "Arrival date"
|
||||
msgstr "Date d’arrivée"
|
||||
|
@ -163,47 +163,47 @@ msgstr "Date d’arrivée"
|
|||
#: web/templates/mail/payment/details.gotxt:20
|
||||
#: web/templates/public/campsite/dates.gohtml:15
|
||||
#: web/templates/public/booking/fields.gohtml:41
|
||||
#: web/templates/admin/payment/details.gohtml:60
|
||||
#: web/templates/admin/payment/details.gohtml:90
|
||||
msgctxt "input"
|
||||
msgid "Departure date"
|
||||
msgstr "Date de depart"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:21
|
||||
#: web/templates/admin/payment/details.gohtml:64
|
||||
#: web/templates/admin/payment/details.gohtml:94
|
||||
msgctxt "cart"
|
||||
msgid "Nights"
|
||||
msgstr "Nuits"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:22
|
||||
#: web/templates/public/booking/fields.gohtml:60
|
||||
#: web/templates/admin/payment/details.gohtml:68
|
||||
#: web/templates/admin/payment/details.gohtml:98
|
||||
msgctxt "input"
|
||||
msgid "Adults aged 17 or older"
|
||||
msgstr "Adultes âgés 17 ans ou plus"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:23
|
||||
#: web/templates/public/booking/fields.gohtml:71
|
||||
#: web/templates/admin/payment/details.gohtml:72
|
||||
#: web/templates/admin/payment/details.gohtml:102
|
||||
msgctxt "input"
|
||||
msgid "Teenagers from 11 to 16 years old"
|
||||
msgstr "Adolescents de 11 à 16 ans"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:24
|
||||
#: web/templates/public/booking/fields.gohtml:82
|
||||
#: web/templates/admin/payment/details.gohtml:76
|
||||
#: web/templates/admin/payment/details.gohtml:106
|
||||
msgctxt "input"
|
||||
msgid "Children from 2 to 10 years old"
|
||||
msgstr "Enfants de 2 à 10 ans"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:25
|
||||
#: web/templates/public/booking/fields.gohtml:100
|
||||
#: web/templates/admin/payment/details.gohtml:80
|
||||
#: web/templates/admin/payment/details.gohtml:110
|
||||
msgctxt "input"
|
||||
msgid "Dogs"
|
||||
msgstr "Chiens"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:26
|
||||
#: web/templates/admin/payment/details.gohtml:84 pkg/booking/cart.go:197
|
||||
#: web/templates/admin/payment/details.gohtml:114 pkg/booking/cart.go:197
|
||||
msgctxt "cart"
|
||||
msgid "Tourist tax"
|
||||
msgstr "Taxe touristique"
|
||||
|
@ -216,13 +216,13 @@ msgstr "Totale"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:28
|
||||
#: web/templates/public/booking/fields.gohtml:230
|
||||
#: web/templates/admin/payment/details.gohtml:88
|
||||
#: web/templates/admin/payment/details.gohtml:118
|
||||
msgctxt "cart"
|
||||
msgid "Down payment"
|
||||
msgstr "Acompte"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:31
|
||||
#: web/templates/admin/payment/details.gohtml:96
|
||||
#: web/templates/admin/payment/details.gohtml:126
|
||||
#: web/templates/admin/campsite/type/option/form.gohtml:18
|
||||
#: web/templates/admin/campsite/type/option/index.gohtml:6
|
||||
#: web/templates/admin/campsite/type/option/index.gohtml:17
|
||||
|
@ -232,21 +232,21 @@ msgstr "Options de type d’emplacement de camping"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:39
|
||||
#: web/templates/public/booking/fields.gohtml:146
|
||||
#: web/templates/admin/payment/details.gohtml:110
|
||||
#: web/templates/admin/payment/details.gohtml:140
|
||||
msgctxt "title"
|
||||
msgid "Customer Details"
|
||||
msgstr "Détails du client"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:41
|
||||
#: web/templates/public/booking/fields.gohtml:149
|
||||
#: web/templates/admin/payment/details.gohtml:113
|
||||
#: web/templates/admin/payment/details.gohtml:143
|
||||
msgctxt "input"
|
||||
msgid "Full name"
|
||||
msgstr "Nom et prénom"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:42
|
||||
#: web/templates/public/booking/fields.gohtml:158
|
||||
#: web/templates/admin/payment/details.gohtml:117
|
||||
#: web/templates/admin/payment/details.gohtml:147
|
||||
#: web/templates/admin/taxDetails.gohtml:69
|
||||
msgctxt "input"
|
||||
msgid "Address"
|
||||
|
@ -254,14 +254,14 @@ msgstr "Adresse"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:43
|
||||
#: web/templates/public/booking/fields.gohtml:167
|
||||
#: web/templates/admin/payment/details.gohtml:121
|
||||
#: web/templates/admin/payment/details.gohtml:151
|
||||
#: web/templates/admin/taxDetails.gohtml:93
|
||||
msgctxt "input"
|
||||
msgid "Postcode"
|
||||
msgstr "Code postal"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:44
|
||||
#: web/templates/admin/payment/details.gohtml:125
|
||||
#: web/templates/admin/payment/details.gohtml:155
|
||||
#: web/templates/admin/taxDetails.gohtml:77
|
||||
msgctxt "input"
|
||||
msgid "City"
|
||||
|
@ -269,7 +269,7 @@ msgstr "Ville"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:45
|
||||
#: web/templates/public/booking/fields.gohtml:185
|
||||
#: web/templates/admin/payment/details.gohtml:129
|
||||
#: web/templates/admin/payment/details.gohtml:159
|
||||
#: web/templates/admin/taxDetails.gohtml:101
|
||||
msgctxt "input"
|
||||
msgid "Country"
|
||||
|
@ -277,7 +277,7 @@ msgstr "Pays"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:46
|
||||
#: web/templates/public/booking/fields.gohtml:196
|
||||
#: web/templates/admin/payment/details.gohtml:133
|
||||
#: web/templates/admin/payment/details.gohtml:163
|
||||
#: web/templates/admin/login.gohtml:27 web/templates/admin/profile.gohtml:38
|
||||
#: web/templates/admin/taxDetails.gohtml:53
|
||||
msgctxt "input"
|
||||
|
@ -286,14 +286,14 @@ msgstr "E-mail"
|
|||
|
||||
#: web/templates/mail/payment/details.gotxt:47
|
||||
#: web/templates/public/booking/fields.gohtml:205
|
||||
#: web/templates/admin/payment/details.gohtml:137
|
||||
#: web/templates/admin/payment/details.gohtml:167
|
||||
#: web/templates/admin/taxDetails.gohtml:45
|
||||
msgctxt "input"
|
||||
msgid "Phone"
|
||||
msgstr "Téléphone"
|
||||
|
||||
#: web/templates/mail/payment/details.gotxt:48
|
||||
#: web/templates/admin/payment/details.gohtml:141
|
||||
#: web/templates/admin/payment/details.gohtml:171
|
||||
#: web/templates/admin/profile.gohtml:68
|
||||
msgctxt "input"
|
||||
msgid "Language"
|
||||
|
@ -1015,6 +1015,24 @@ msgctxt "title"
|
|||
msgid "Payment %s"
|
||||
msgstr "Paiement %s"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:20
|
||||
msgid "Are you sure you wish to accept this pre-authorization?"
|
||||
msgstr "Êtes-vous sûr de vouloir accepter cette pré-autorisation ?"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:29
|
||||
msgctxt "action"
|
||||
msgid "Accept pre-authorization"
|
||||
msgstr "Accepter pré-autorisation"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:34
|
||||
msgid "Are you sure you wish to void this pre-authorization?"
|
||||
msgstr "Êtes-vous sûr de vouloir annuler cette pré-autorisation ?"
|
||||
|
||||
#: web/templates/admin/payment/details.gohtml:43
|
||||
msgctxt "action"
|
||||
msgid "Void pre-authorization"
|
||||
msgstr "Annuler pré-autorisation"
|
||||
|
||||
#: web/templates/admin/legal/form.gohtml:8
|
||||
#: web/templates/admin/legal/form.gohtml:29
|
||||
msgctxt "title"
|
||||
|
@ -2265,12 +2283,12 @@ msgstr "L’intégration sélectionnée n’est pas valide."
|
|||
msgid "The merchant key is not valid."
|
||||
msgstr "La clé marchand n’est pas valide."
|
||||
|
||||
#: pkg/payment/public.go:111
|
||||
#: pkg/payment/public.go:110
|
||||
msgctxt "order product name"
|
||||
msgid "Campsite Booking"
|
||||
msgstr "Réservation camping"
|
||||
|
||||
#: pkg/payment/public.go:369
|
||||
#: pkg/payment/public.go:374
|
||||
msgctxt "subject"
|
||||
msgid "Booking payment successfully received"
|
||||
msgstr "Paiement de réservation reçu avec succès"
|
||||
|
|
|
@ -756,3 +756,16 @@ label[x-show] > span, label[x-show] > br {
|
|||
}
|
||||
|
||||
/*</editor-fold>*/
|
||||
/*<editor-fold desc="Payment">*/
|
||||
|
||||
#payment-heading {
|
||||
float: left;
|
||||
}
|
||||
|
||||
#payment-actions {
|
||||
display: flexpré-autorisation;
|
||||
gap: 2ch;
|
||||
justify-content: end;
|
||||
}
|
||||
|
||||
/*</editor-fold>*/
|
||||
|
|
|
@ -13,7 +13,37 @@
|
|||
|
||||
{{ define "content" -}}
|
||||
{{- /*gotype: dev.tandem.ws/tandem/camper/pkg/payment.paymentDetails*/ -}}
|
||||
<h2>{{ template "title" . }}</h2>
|
||||
<h2 id="payment-heading">{{ template "title" . }}</h2>
|
||||
|
||||
<div id="payment-actions">
|
||||
{{ with .AcceptPreauthRequest -}}
|
||||
{{ $confirm := (gettext "Are you sure you wish to accept this pre-authorization?")}}
|
||||
<form method="post" x-data @submit.prevent="if (confirm('{{ $confirm }}')) $el.submit()"
|
||||
{{- if eq $.Environment "live" }} action="https://sis.redsys.es/sis/realizarPago"
|
||||
{{- else }} action="https://sis-t.redsys.es:25443/sis/realizarPago"
|
||||
{{- end -}}
|
||||
>
|
||||
<input type="hidden" name="Ds_MerchantParameters" value="{{ .MerchantParameters }}"/>
|
||||
<input type="hidden" name="Ds_Signature" value="{{ .Signature }}"/>
|
||||
<input type="hidden" name="Ds_SignatureVersion" value="{{ .SignatureVersion }}"/>
|
||||
<button type="submit">{{( pgettext "Accept pre-authorization" "action" )}}</button>
|
||||
</form>
|
||||
{{- end }}
|
||||
|
||||
{{ with .VoidPreauthRequest -}}
|
||||
{{ $confirm := (gettext "Are you sure you wish to void this pre-authorization?")}}
|
||||
<form method="post" x-data @submit.prevent="if (confirm('{{ $confirm }}')) $el.submit()"
|
||||
{{- if eq $.Environment "live" }} action="https://sis.redsys.es/sis/realizarPago"
|
||||
{{- else }} action="https://sis-t.redsys.es:25443/sis/realizarPago"
|
||||
{{- end -}}
|
||||
>
|
||||
<input type="hidden" name="Ds_MerchantParameters" value="{{ .MerchantParameters }}"/>
|
||||
<input type="hidden" name="Ds_Signature" value="{{ .Signature }}"/>
|
||||
<input type="hidden" name="Ds_SignatureVersion" value="{{ .SignatureVersion }}"/>
|
||||
<button type="submit">{{( pgettext "Void pre-authorization" "action" )}}</button>
|
||||
</form>
|
||||
{{- end }}
|
||||
</div>
|
||||
|
||||
<table class="payment-{{ .Status}}">
|
||||
<caption>{{( pgettext "Payment" "title" )}}</caption>
|
||||
|
|
Loading…
Reference in New Issue