Pagamento PhastPay¶
Criar um pagamento PhastPay¶
startPayment()¶
Para criar um pagamento é utilizada a função startPayment
Request¶
{
"value": "20.00",
"app_client_id": "228dbb16-1b8c-4503-a1ac-0531d0202b35",
"print_customer_receipt": true,
"print_merchant_receipt": true,
"preview_customer_receipt": true,
"preview_merchant_receipt": true,
"application_id": "304",
"application_name": "1.0.0.0",
"service": "BIZUM",
"country_code": "+351",
"currency": "EUR",
"phone_number": "000000000",
"customer_name": "Manoel",
"customer_email": "email@email.com"
}
Parâmetros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
request |
String |
Sim | Objeto contendo as informações da requisição de criação de pagamento. |
callback |
ICallbackService |
Sim | Interface que será executada para notificações de sucesso ou erro no processo de pagamento. |
Detalhamento dos Parâmetros
request (startPayment)
| Nome | Tipo | Obrigatório | Descrição | Padrão |
|---|---|---|---|---|
value |
String |
Não | Valor da requisição, em formato numérico com duas casas decimais, informado pelo usuário. Caso não seja preenchido (null), o PhastPay solicitará o valor. |
null |
app_client_id |
String |
Sim | Identificador único utilizado pelo app integrador para identificar as cobranças criadas. Suporta até 36 caracteres. | - |
print_customer_receipt |
Boolean |
Não | Indica se o comprovante do cliente deve ser impresso após a confirmação do pagamento. | true |
print_merchant_receipt |
Boolean |
Não | Indica se o comprovante do estabelecimento deve ser impresso após o pagamento. | true |
preview_customer_receipt |
Boolean |
Não | Indica se o comprovante do cliente deve ser exibido após o pagamento. | true |
preview_merchant_receipt |
Boolean |
Não | Indica se o comprovante do estabelecimento deve ser exibido após o pagamento. | true |
application_id |
String |
Sim | Identificador da aplicação no portal da Paystore. | - |
application_name |
String |
Sim | Nome da aplicação. | - |
service |
MBWAY, BIZUM |
Sim | Identificador do serviço no qual a requisição de pagamento será criada. | - |
currency |
String |
Não | Identificador da moeda a ser utilizada, conforme o padrão da ISO 4217. Caso não informado, será usada a moeda padrão da aplicação de pagamentos. | - |
county_code |
String |
Não | Código de Discagem Direta Internacional. Caso não informado, o PhastPay solicitará esse dado. (DDI). | null |
phone_number |
String |
Não | Número de telefone do consumidor para a requisição junto ao provedor de pagamento. Caso não informado, o PhastPay solicitará esse dado. | null |
customer_name |
String |
Não | Nome do consumidor. | null |
customer_email |
String |
Não | E-mail do consumidor. |
Detalhamento dos Parâmetros
callback (ICallbackService)
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
onSuccess |
String |
Sim | Método chamado em caso de sucesso. A resposta será uma String, em formato JSON, contendo os campos definidos na classe StartPaymentResponse. |
onError |
String |
Sim | Método chamado em caso de erro. A resposta será uma String, em formato JSON, contendo os campos definidos na classe IpcResponseError. |
fun startPaymentService(
phastPayClient: PhastPayClient,
service: String,
appClientId: String,
applicationId: String,
applicationName: String,
value: String?,
printCustomerReceipt: Boolean,
printMerchantReceipt: Boolean,
previewCustomerReceipt: Boolean,
previewMerchantReceipt: Boolean,
currency: String?,
phoneNumber: String?,
countyCode: String?,
customerName: String?,
customerEmail: String?
) {
val gson: Gson = Gson()
if (phastPayClient.isBound()) {
val createPaymentRequest =
StartPaymentRequest(service, appClientId, applicationId, applicationName, value, printCustomerReceipt, printMerchantReceipt, currency, countyCode, phoneNumber, customerName,customerEmail )
val callback = object : PhastPayClient.ICallbackService {
override fun onError(response: String?) {
val responseError = gson.fromJson(response, StartPaymentResponse::class.java)
println("Pagamento error: $response")
}
override fun onSuccess(response: String?) {
val response = gson.fromJson(response, IpcResponseError::class.java)
println("Pagamento: $response")
}
}
phastPayClient.startPayment(
gson.toJson(createPaymentRequest),
callback
)
}
}
Requisições e Respostas¶
StartPaymentRequest¶
data class StartPaymentRequest(
@SerializedName("service")
val service: String,
@SerializedName("app_client_id")
val appClientId: String?,
@SerializedName("application_id")
val applicationId: String?,
@SerializedName("application_name")
val applicationName: String?,
@SerializedName("value")
val value: String?,
@SerializedName("print_customer_receipt")
val printCustomerReceipt: Boolean,
@SerializedName("print_merchant_receipt")
val printMerchantReceipt: Boolean,
@SerializedName("preview_customer_receipt")
val previewCustomerReceipt: Boolean,
@SerializedName("preview_merchant_receipt")
val previewMerchantReceipt: Boolean,
@SerializedName("currency")
val currency: Boolean?,
@SerializedName("county_code")
val countryCode: String?,
@SerializedName("phone_number")
val phoneNumber: String?,
@SerializedName("customer_name")
val customerName: String?,
@SerializedName("customer_email")
val customerEmail: String?,
)
StartPaymentResponse¶
data class StartPaymentResponse(
@SerializedName("payment_id")
val transactionId: String? = null,
@SerializedName("app_client_id")
val appClientId: String? = null,
@SerializedName("status")
val status: String? = null,
@SerializedName("value")
val value: String? = null,
@SerializedName("iva")
val iva: String? = null,
@SerializedName("date_time")
)
IpcResponseError¶
class IpcResponseError (
@SerializedName("error_message")
val errorMessage: String
)