Pure Go OpenPay client implementation.
// Start a new client instance
client, _ := openpay.NewClient("API_KEY", "MERCHANT_ID", nil)
// Register customer
rick := &Customer{
Name: "Rick",
LastName: "Sanchez",
Email: "rick@mail.com",
Address: Address{
CountryCode: "MX",
PostalCode: "94560",
},
}
client.Customers.Create(rick)
// Add Card
card := &Card{
HolderName: "Rick Sanchez",
CardNumber: "4111111111111111",
CVV2: "401",
ExpirationMonth: "10",
ExpirationYear: "19",
Address: rick.Address,
}
client.Charges.AddCard(card)
// Execute charge
sale := &ChargeWithStoredCard{
Charge: Charge{
Method: "card",
Amount: 1000,
Currency: "MXN",
Description: "sample charge operation",
Customer: rick,
},
SourceID: card.ID,
Capture: true,
}
client.Charges.WithCard(sale)